1
我無法將此TextField添加到界面中,所得到的窗口很明顯,沒有任何細節,儘管我嘗試了很多以找到問題所在。代碼: import java.awt.ComponentOrientation; import java.awt.Font;無法將TextField添加到Java界面中
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.UIManager;
public class Calculator extends JFrame {
private JTextField display;
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
System.out.println("Could not load system interface\n");
}
new Calculator();
}
public Calculator() {
super("Calculator");
sendDisplay();
sendUI(this);
}
private void sendDisplay() {
display = new JTextField("0");
display.setBounds(10, 10, 324, 50);
display.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
display.setEditable(false);
display.setFont(new Font("Arial", Font.PLAIN, 30));
display.setVisible(true);
add(display);
}
private void sendUI(Calculator app) {
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
app.setVisible(true);
app.setSize(400, 600);
app.setLayout(null);
app.setResizable(false);
app.setLocationRelativeTo(null);
}
}
我將不勝感激,如果有人能夠找到問題
1)Java GUI必須在不同的語言環境中使用不同的PLAF來處理不同的操作系統,屏幕大小,屏幕分辨率等。因此,它們不利於像素的完美佈局。請使用佈局管理器或[它們的組合](http://stackoverflow.com/a/5630271/418556)以及[white space]的佈局填充和邊框(http://stackoverflow.com/a/17874718/ 418556)。 2)'new Font(「Arial」,Font.PLAIN,30)'最好是'new Font(Font.SANS_SERIF,Font.PLAIN,30)',以便跨平臺的穩健性和編譯時間檢查。 –
避免使用'null'佈局,像素完美的佈局是現代UI設計中的幻想。影響組件的個體大小的因素太多,其中沒有一個可以控制。 Swing旨在與佈局經理一起工作,放棄這些將導致問題和問題的終結,您將花費越來越多的時間來嘗試糾正 – MadProgrammer