我想知道是否可以創建一個Java類,它允許在Java框架中設置所有JTextField的高度,而不是手動更改。調整許多JTextField的高度
0
A
回答
0
您可以修改的外觀和感覺來實現這一目標:Modifying the Look and Feel
2
這取決於佈局的結構。
基本上你需要走框架的組成部分hierarcy(和它的容器)找我要指出的JTextField
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Container;
import java.awt.EventQueue;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class WalkComponentTree {
public static void main(String[] args) {
new WalkComponentTree();
}
public WalkComponentTree() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException ex) {
} catch (InstantiationException ex) {
} catch (IllegalAccessException ex) {
} catch (UnsupportedLookAndFeelException ex) {
}
JFrame frame = new JFrame("Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.add(new TestPane());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
List<JTextField> fields = getTextFields(frame.getContentPane());
}
});
}
public List<JTextField> getTextFields(Container container) {
List<JTextField> fields = new ArrayList<JTextField>(25);
for (Component comp : container.getComponents()) {
if (comp instanceof JTextField) {
fields.add((JTextField)comp);
} else if (comp instanceof Container) {
fields.addAll(getTextFields((Container)comp));
}
}
return fields;
}
public class TestPane extends JPanel {
public TestPane() {
add(new JTextField());
}
}
}
的情況下,任何組件的尺寸這樣的修改可能是一個顯著壞理念。除了可能有(多個)佈局管理員參與的事實,它將顯着改變UI的當前外觀並且可能導致更多問題,然後它是值得的(例如,這將拾取可編輯的組合框;))
+0
+1不錯的一個:) – 2013-03-05 10:03:24
相關問題
- 1. 調整DIV高度可調整大小的iframe高度
- 2. div高度調整
- 3. 調整jqgrid高度
- 4. 調整UINavigationController高度
- 5. WPF Grid允許控件內部自動調整寬度/高度
- 6. 根據div高度調整img高度
- 7. Android:調整customview的高度
- 8. 調整模式的高度
- 9. 調整高度的iframe
- 10. 調整scrollView的高度
- 11. 調整JPanel的高度
- 12. 只調整UIWebView的高度?
- 13. 調整UILabel的高度與tableViewCell高度的高度
- 14. Fullcalender調度程序調整行高度
- 15. 調整JavaFX圖的高度和寬度
- 16. 調整跨度的高度與CSS
- 17. JTextArea自動調整高度
- 18. 自動調整div高度
- 19. BootStrap調整navBar高度
- 20. 動態調整高度
- 21. jQuery調整iframe高度
- 22. 只調整IFrame高度Chrome
- 23. 調整高度和居中
- 24. 調整視圖高度
- 25. DIV高度不調整
- 26. 自動調整高度div
- 27. iframe動態高度調整
- 28. iframe動態調整高度
- 29. Bootstrap Jumbotron不調整高度
- 30. JavaScript調整高度問題
您可以使用反射 – Rakesh 2013-03-05 09:28:23
只是強調@Madprogrammer - *從來沒有*做任何手動調整大小/定位,這是LayoutManager – kleopatra 2013-03-05 10:17:10
的可能重複[如何設置Java中的文本字段的高度和寬度?]的獨佔任務。 (http://stackoverflow.com/questions/14805124/how-to-set-the-height-and-the-width-of-a-textfield-in-java) – 2013-03-05 10:40:33