cles::blog 平常心是道 blogs: cles::blog NP_cles() « 現代の「弘法筆を選ばず」 :: ESXi でコマンドラインからマシンをコピーしたとき... » 2015/01/02 Swing と High DPI 環境の微妙な関係 java 361 0へぇ Surface Pro 3の液晶は 12型の2160×1440(216ppi)という普段使いの PC としては必要以上に超高精細な画面が採用されています。普段のデスクトップが23型で1920×1080であることを考えると、その差は歴然で、ピクセル原寸表示では文字が小さすぎて実用的ではありません。 当然のことながら、高精細な画面を生かしつつ、システム的には文字を大きく表示するようにして使うことになります。具体的にはコントロールパネルにある、テキストやその他の項目の大きさの変更*1*2を使って文字の大きさを
EventQueue#invokeLaterなどを使えということなのですが、実際の処理をいちいちinvokeLaterすると処理の記述が分断して大変みにくくなります。記述の美しさよりも処理の安全さ、とはいえ、これはあんまり。 ということで、Java SE 6からはSwingWorkerというクラスが用意されていて、便利に使えます。 使い方を図解すると、こう 関係ないけど、今回のサンプルはムダにNimbusです。 SwingWorkerは、Genericsパラメータをふたつ指定します。一つ目が処理結果の型で、二つ目が途中経過の型です。 new SwingWorker<Integer, int[]>() SwingWorkerで実装するべきなのは、doInBackgroundメソッドです。ここでは、別スレッドで動かしたい処理を記述します。戻り値の型は、Genericsで一つ目に指定した型になり
JLabelをドラッグ&ドロップで場所移動する方法を調べたのでメモしておきます。 やりたいこと 例えば、GridLayoutで2*3を指定したレイアウトにラベルが 合計6つ並んでいます。 この配置されている場所をドラッグ&ドロップで移動したい。 例えば、1(赤)のラベルをドラッグして、2(黄色)にドロップすると位置が入れ替わる。 初期状態のソースは以下のとおり。 MainFrame.java package sample;import java.awt.Color;import java.awt.Dimension;import java.awt.EventQueue;import java.awt.GridLayout;import javax.swing.JFrame;@SuppressWarnings("serial")public class MainFrame extends J
JavaでAttributedStringクラスを使って文字を180度回転させることに挑戦していますが、 設定によって文字が回転しません。 JavaでAttributedStringクラスを使って文字を180度回転させることに挑戦していますが、 設定によって文字が回転しません。 AttributedStringクラスを使って文字を180度回転させることに成功しましたが、アンダーラインの設定や、文字の色の 設定を行っても文字は180度回転するのですが、文字の種類と大きさを設定すると文字が回転しません。どうしたら よいのか教えてください。 import java.awt.*; import java.awt.font.TextAttribute; import java.text.AttributedCharacterIterator; import java.text.AttributedS
次にJListの項目にJCheckBoxを表示させて見ましょう。(ここで書いた方法が一番いいかどうかは分かりません。取りあえず動くようにはなったので記載しておきます)。 まず ListCellRenderer をJCheckBoxを継承して作成します。 import javax.swing.*; import java.awt.*; public class JListSample extends JFrame{ protected JList list; protected DefaultListModel model; public static void main(String[] args){ JListSample test = new JListSample("JListSample"); /* 終了処理を変更 */ test.setDefaultCloseOperation(
コンサルタントの独り言、、、かな? Web/OLTP/Java/Swift Performance/RealTimeComunication/Media Swingでの部品のサイズは、sizeでも、maximumSizeでも、minimumSizeでもなく、preferredSizeが使われるため、ここを設定することが多いのだが、サイズが可変になる場合にはむしろ「null」にしておいた方が吉である。 そもそも、Swingでは、サイズはLayoutManagerの管理下にあり、上記のサイズ指定は参考値という扱いのようだ。とはいっても最大の参考値は「preferredSize」であり、初期表示はこの値が使用される。 ■状況: JPanelにBorderLayoutを設定し、NorthにJToolBarを配置、Centerにはイベントに応じて異なるJPanelが挿入され、サイズも動的に変化すると
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く