java 正常程序突然不显示_java图形界面问题,为什么运行结果窗口里什么都不显示...

展开全部

你的Java图形界面程序有两个问题

一.如果布局设为空,即jf.setLayout(null);那么每一个加入32313133353236313431303231363533e59b9ee7ad9431333363366239JFrame容器中的组件都要指明在容器中的位置和大小,也就是要容器名.setBounds(x,y,width,height);,你没有加这句

二.让JFrame显示出来的语句要放到组件加入到JFrame容器后面,即jf.setVisible(true);要放到最后一句.才能显示出来加入的组件.

完整的Java程序如下(改动的地方见注释)import javax.swing.JComboBox;

import javax.swing.JFrame;

public class socketSup {

public static void main(String[] args) {

JFrame jf=new JFrame("nihao");

jf.setLayout(null);

jf.setSize(200, 400);

jf.setResizable(false);

jf.setLocationRelativeTo(null);

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JComboBox jcb=new JComboBox(new String[]{"123","456"});//这里加一句 给JComboBox类创建一个对象

jcb.setBounds(20, 20, 100, 20);//这里加一句 为JComboBox指明在JFrame中的位置和大小

jf.getContentPane().add(jcb);//这里把jcb加入到JFrame

jf.setVisible(true);//这里把这句移到这里

}

}

运行结果

ada63a2a30650868d2ccbe39a6ed9e05.png

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现 Java 图形界面中的平均分求法,可以按照以下步骤进行: 1. 创建一个包含所有评分的数组。 2. 添加一个求平均分的方法,该方法使用数组中的评分计算平均值。 3. 在图形界面中添加一个输入框,用户可以在该输入框中输入评分。 4. 添加一个“添加评分”按钮,当用户点击该按钮时,将输入框中的评分添加到评分数组中。 5. 在图形界面中添加一个标签,用于显示当前平均分。 6. 在添加评分后,调用求平均分的方法,并将结果显示在标签中。 下面是一个简单的示例代码,演示了如何实现这个功能: ```java import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class ScoreCalculator extends JFrame implements ActionListener { private JTextField scoreField; private JButton addButton; private JLabel averageLabel; private double[] scores = new double[0]; public ScoreCalculator() { setSize(300, 200); setTitle("Score Calculator"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); scoreField = new JTextField(10); addButton = new JButton("Add Score"); averageLabel = new JLabel("Average: N/A"); addButton.addActionListener(this); JPanel panel = new JPanel(); panel.add(scoreField); panel.add(addButton); panel.add(averageLabel); add(panel); setVisible(true); } private double calculateAverage() { double sum = 0; for (double score : scores) { sum += score; } return sum / scores.length; } @Override public void actionPerformed(ActionEvent e) { try { double score = Double.parseDouble(scoreField.getText()); double[] newScores = new double[scores.length + 1]; System.arraycopy(scores, 0, newScores, 0, scores.length); newScores[scores.length] = score; scores = newScores; double average = calculateAverage(); averageLabel.setText("Average: " + average); } catch (NumberFormatException ex) { JOptionPane.showMessageDialog(this, "Invalid score!"); } } public static void main(String[] args) { new ScoreCalculator(); } } ``` 在这个示例代码中,我们创建了一个 `ScoreCalculator` 类,继承自 `JFrame`,实现了 `ActionListener` 接口。在构造函数中,我们创建了一个包含输入框、按钮和标签的面板,并将其添加到窗口中。 在 `actionPerformed` 方法中,我们首先尝试将用户输入的评分转换为一个 `double` 类型的数值,如果转换失败,则弹出一个错误提示框。否则,我们将新评分添加到评分数组中,并重新计算平均分,然后更新标签中的内容。 最后,在 `main` 方法中,我们创建了一个 `ScoreCalculator` 实例,启动了整个应用程序

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值