[英]Components not showing up in Java Swing
我是 Java 和 Java GUI 的新手,我在使用 Java Swing 時遇到了問題。 目前我有以下代碼:
public class Dashboard {
Dashboard() {
JFrame screen = new JFrame();
JPanel window = new JPanel();
JLabel title = new JLabel();
title.setText("dashboard");
title.setBounds(400,200,100,100);
title.setVisible(true);
window.add(title);
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
File xkcd = new File("./bin/gui/xkcd-script.ttf");
Font xkcdscript;
try {
xkcdscript = Font.createFont(0, xkcd);
ge.registerFont(xkcdscript);
title.setFont(xkcdscript);
} catch (FontFormatException | IOException e) {
e.printStackTrace();
}
JMenuBar sidebar = new JMenuBar();
window.setLayout(new FlowLayout());
window.add(sidebar);
window.add(title);
screen.add(window);
screen.setExtendedState(java.awt.Frame.MAXIMIZED_BOTH);
screen.setVisible(true);
}
在我添加 JPanel 之前,我顯示了側邊欄,但是在添加它之后,我的所有元素都消失了。 到目前為止,我嘗試過的一切都沒有幫助。 我正在使用 Eclipse 和 Java13。
我應該改變什么?
歡迎詹姆斯。 作為一個新的貢獻者,如果有幫助,請確保接受這個答案。
您構建代碼的方式會讓您非常頭疼。 首先,您應該從 Dashboard 類擴展 JFrame,然后使用 main 方法來實例化您的框架,然后使用構造函數 public Dashboard(),您可以在其中添加所有組件。
像這樣的東西:
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
public class Dashboard extends JFrame {
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Dashboard frame = new Dashboard();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Dashboard() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
}
}
希望這會有所幫助並祝你好運。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.