gpt4 book ai didi

Java GUI 不显示任何内容

转载 作者:行者123 更新时间:2023-11-30 06:50:57 25 4
gpt4 key购买 nike

我是 Java 的新手,我正在创建一个 Gui。我没有任何错误,但是当我运行 main 时,什么也没有显示。我不明白为什么。可以请人帮忙吗?

这是我的 GUI 代码:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.Border;

public class DartsGUI implements ActionListener {

//Gui components
JFrame mainDartsFrame;
JPanel buttonsPanel,infoPanel;
JRadioButton viewTableAsc,viewTableDesc,editScores,viewDetails,searchById;
CardLayout cLayout;
JTextArea table1,table2;
JScrollPane scrollTable1,scrollTable2;
JLabel edit,details,search;

public void DartGUI() {
mainDartsFrame= new JFrame("Darts Competition");
mainDartsFrame.setSize(700, 500);
mainDartsFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainDartsFrame.setLayout(new BorderLayout());
mainDartsFrame.setLocationRelativeTo(null);
createButtonsPanel();
createInfoPanel();
mainDartsFrame.setVisible(true);
}

private void createButtonsPanel() {
JPanel buttonsPanel = new JPanel( new GridLayout(5,1) );
viewTableAsc= new JRadioButton("Info Ascending Order");
viewTableAsc.addActionListener(this);
viewTableDesc= new JRadioButton("Info Descending Order");
viewTableDesc.addActionListener(this);
editScores= new JRadioButton("Edit Scores");
editScores.addActionListener(this);
viewDetails= new JRadioButton("View Details");
viewDetails.addActionListener(this);
searchById=new JRadioButton("Search Competitor");
searchById.addActionListener(this);

//Group radio buttons to ensure only one is chosen each time
ButtonGroup radioButtons = new ButtonGroup();
radioButtons.add(searchById);
radioButtons.add(viewTableAsc);
radioButtons.add(viewTableDesc);
radioButtons.add(editScores);
radioButtons.add(viewDetails);
//Push buttons into the buttons Panel
buttonsPanel.add(viewTableAsc);
buttonsPanel.add(viewTableDesc);
buttonsPanel.add(editScores);
buttonsPanel.add(viewDetails);
buttonsPanel.add(searchById);

mainDartsFrame.add(buttonsPanel,BorderLayout.WEST);
}

private void createInfoPanel() {
infoPanel = new JPanel();
cLayout = new CardLayout();
infoPanel.setLayout(cLayout);
table1 = new JTextArea(10,10);
table1.setEditable(false);
scrollTable1 = new JScrollPane(table1);
table2 = new JTextArea(10,10);
table2.setEditable(false);
scrollTable2 = new JScrollPane(table1);
edit = new JLabel("Edit Scores");
search= new JLabel("Search Id");
details=new JLabel("View Details");

infoPanel.add(scrollTable1, "viewTable1");
infoPanel.add(scrollTable2, "viewTable2");
infoPanel.add(edit, "edit");
infoPanel.add(search, "searchId");
infoPanel.add(details, "viewDetails");

mainDartsFrame.add(infoPanel,BorderLayout.CENTER);
}

public void actionPerformed (ActionEvent e) {
JRadioButton eventButton = (JRadioButton) e.getSource();

if(eventButton==viewTableAsc){
cLayout.show(infoPanel,"viewTable1");
}
else if(eventButton==viewTableDesc){
cLayout.show(infoPanel, "viewTable2");
}
else if(eventButton==editScores){
cLayout.show(infoPanel, "edit");
}
else if(eventButton==viewDetails){
cLayout.show(infoPanel, "viewDetails");
}
else{
cLayout.show(infoPanel, "searchId");
}
}
}

还有主类:

public class mainGui {

public static void main(String[] args) {
DartsGUI gui = new DartsGUI();
}
}

最佳答案

你需要调用DartGUI方法:

public static void main(String[] args) {
DartsGUI gui = new DartsGUI();
gui.DartGUI();
}

关于Java GUI 不显示任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40707335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com