Java Swingを使用して、ワークステーション上のJavaシステムのプロパティ名と値を簡単に表示できますか?SwingによるJavaシステムのプロパティの表示
答えて
質問をする前に私は検索しました。私は本当にしました。 –
+1、私は前にその投稿を見て覚えていません。 – camickr
@GilbertLeBlancはい、私はあなた自身の質問に答えました。私はちょうど私の答えが良かったと思った、なぜあなたはそれが**あなたの質問への答えでもない**を言及しなかったので。しかし、あなたが気分を良くするなら、私はそれがどのように感じるか知っている。 ](http://stackoverflow.com/questions/10836832/show-an-animated-bg-in-swing)Q&A私はすべて自分自身に保つことを意図した。結局私は他の答えが確かに自分のものより良かったことを認めなければならなかった。あなたはこのケースでは合意しないかもしれませんが、害はありませんが、ただ知っています - はい、私はそこに... ..) –
コードは非常に簡単です:
基本的には、私が探しているこのような何かを表示するJava Swingアプリケーションです。 JFrame内のJScrollPaneの内部にJTableを作成します。
JTable用のテーブルモデルを構築するために、数行のコードを入力する必要がありました。私はプロパティ名を簡単に見つけるためにソートしました。
JTable prepareRendererメソッドをオーバーライドすると、すべてのセルのツールチップが表示されます。ツールチップの表示が必要なセルは、パス文字列を持つ2つの値のセルです。
システムのシステムプロパティ名が他のシステムのシステムプロパティ名と異なる場合があります。 WindowsとUnixはそれぞれ独自のシステムプロパティ名を持っています。
import java.awt.Component;
import java.util.Iterator;
import java.util.Properties;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellRenderer;
public class SystemProperties implements Runnable {
@Override
public void run() {
JFrame frame = new JFrame("System Properties");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTable table = new JTable(createSystemPropertiesTableModel()) {
private static final long serialVersionUID = 4957089825220999913L;
@Override
public Component prepareRenderer(TableCellRenderer renderer,
int row, int column) {
Component c = super.prepareRenderer(renderer, row, column);
if (c instanceof JComponent) {
JComponent jc = (JComponent) c;
String s = getValueAt(row, column).toString();
jc.setToolTipText(s);
}
return c;
}
};
JScrollPane scrollPane = new JScrollPane(table);
frame.add(scrollPane);
frame.pack();
frame.setVisible(true);
}
private DefaultTableModel createSystemPropertiesTableModel() {
DefaultTableModel model = new DefaultTableModel();
model.addColumn("Property");
model.addColumn("Value");
Properties p = System.getProperties();
Set<Object> keys = p.keySet();
SortedSet<Object> sortedKeys = new TreeSet<Object>(keys);
Iterator<Object> iter = sortedKeys.iterator();
while (iter.hasNext()) {
String key = iter.next().toString();
String value = p.getProperty(key);
String[] row = { key, value };
model.addRow(row);
}
return model;
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new SystemProperties());
}
}
ツールチップの+1; 'AbstractTableModel'を使って関連する[example](http://stackoverflow.com/a/9134371/230513)も参照してください。 – trashgod
System.getProperties()
を使用してシステムプロパティにアクセスできます。次に、キーを繰り返し、必要な方法でデータを操作するだけです。
public static void main(String[] args) {
Properties systemProperties = System.getProperties();
Enumeration<?> e = systemProperties.propertyNames();
while (e.hasMoreElements()) {
String key = (String) e.nextElement();
String value = systemProperties.getProperty(key);
System.out.println(key + " -- " + value);
}
}
特にパスのプロパティでその値を部分文字列にすることができます。 –
- 1. Javaシステムのプロパティ
- 2. Java Swingで画像を表示
- 3. Java Swing並行性表示JTextArea
- 4. Java Swing GUIが表示されない
- 5. Java Swingを表示できません
- 6. Java SwingベースのGUIでSplitPaneを非表示/非表示にする方法
- 7. Java Swingのポップアップダイアログで変数の値を表示する方法
- 8. java swingアプリケーションでcaptchaを表示するには
- 9. Java Eclipseのプロパティ「高度なプロパティを表示する」の実装を表示
- 10. Java Swing - なぜJComponentが表示されないのですか?
- 11. TextFieldとJScrollPaneのJListが表示されない/ Java Swing
- 12. Java/SwingアプリケーションでEclipseの「表示タブ」を複製しますか?
- 13. java swing jtable - 各行の行インデックスを表示
- 14. Java swing - スクロール可能なGridLayoutのアイテムが表示されない
- 15. Javaシステムのプロパティと環境変数
- 16. Java/Swingで特殊なUnicode文字を表示する
- 17. Java SwingでUnicode文字を表示する方法
- 18. JavaでSwingを使用してイメージを表示する
- 19. のJava Swingコンポーネント
- 20. Java Swingのキーストローク
- 21. Java/Swingのセクションリスト?
- 22. Java SwingのPropertyGrid
- 23. SwingのJava YoutubePlayer
- 24. Java Swingのミキシングペイン
- 25. Java Swingを使用しているテキストボックスの文字数をカウントして表示するSwing
- 26. Java Swing:グラフィックコンポーネントは左上隅のゾーンにのみ表示されます
- 27. グラフ上のデータ値をJava Swingの「x」として表示する方法は?
- 28. Java SwingでSystem.exit()の前に情報JDialogを表示するにはどうすればよいですか? (クローズ)
- 29. オブジェクトのプロパティを表示するシステムの実装方法//ゲームエンジンの構築
- 30. FreemarkerテンプレートからJavaシステムのプロパティにアクセスする方法は?
私はあなたがその質問をして1分後にそれに答えたことを知りました。私を間違えないでください、しかし、何がポイントですか? (私はSOの新人です) –
@マルトン・ベルナルド:これまでのところ。 +60ポイント。 :-)私はメタ上の答えを見て、ここに投稿します。そしてここにそれがあります:http://meta.stackexchange.com/questions/17463/can-i-answer-my-own-questions-even-if-i-knew-the-answer-before-asking –
それは良いです知っている! +1のメタ参照! –