Java JOptionPane有几行
在我的代码中,所有内容都显示在一行中。我想要一列中的按钮1,按钮2,按钮3,按钮4,另一列中的标签1和2 有人能帮我吗?我认为javax.swing.ButtongGroup可以完成这项工作,但当我在互联网上搜索示例时,我发现只有复杂的代码Java JOptionPane有几行,java,joptionpane,Java,Joptionpane,在我的代码中,所有内容都显示在一行中。我想要一列中的按钮1,按钮2,按钮3,按钮4,另一列中的标签1和2 有人能帮我吗?我认为javax.swing.ButtongGroup可以完成这项工作,但当我在互联网上搜索示例时,我发现只有复杂的代码 import java.awt.Color; import java.awt.Container; import java.awt.EventQueue; import java.awt.FlowLayout; imp
import java.awt.Color;
import java.awt.Container;
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.Timer;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class RadioButtonV3 extends JFrame{
private static final long serialVersionUID = 1L;
public static void main(String[] args)
{
new RadioButtonV3();
}
public RadioButtonV3()
{
EventQueue.invokeLater
(
new Runnable()
{
@Override
public void run() {
try
{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex)
{
}
Container c = getContentPane();
c.setLayout(new FlowLayout());
final JPanel panel = new JPanel();
final JRadioButton button1 = new JRadioButton("option 1");
final JRadioButton button2 = new JRadioButton("option 2");
final JRadioButton button3 = new JRadioButton("option 3");
final JRadioButton button4 = new JRadioButton("option 4");
String s = "this text will be deleted in -> public void actionPerformed(ActionEvent e)";
JLabel label1 = new JLabel(s, JLabel.CENTER);
JLabel label2 = new JLabel(s, JLabel.CENTER);
label1.setFont(new Font("DigifaceWide Regular", Font.PLAIN, 20));
label2.setFont(new Font("DigifaceWide Regular", Font.PLAIN, 20));
Timer t = new Timer
(
500, new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
Double rand = Math.random();
label1.setText(rand.toString());
if (rand < 0.3) {
label1.setForeground(Color.RED);
}
else if (rand < 0.6) {
label1.setForeground(Color.GRAY);
}
else {
label1.setForeground(Color.GREEN);
}
rand = Math.random();
label2.setText(rand.toString());
if (rand < 0.3) {
label2.setForeground(Color.RED);
}
else if (rand < 0.6) {
label2.setForeground(Color.GRAY);
}
else {
label2.setForeground(Color.GREEN);
}
}
}
);
t.setRepeats(true);
t.start();
panel.add(button1);
panel.add(button2);
panel.add(button3);
panel.add(button4);
panel.add(label1);
panel.add(label2);
JOptionPane.showMessageDialog(null, panel, "title", JOptionPane.INFORMATION_MESSAGE);
t.stop();
}
}
);
}
}
导入java.awt.Color;
导入java.awt.Container;
导入java.awt.EventQueue;
导入java.awt.FlowLayout;
导入java.awt.Font;
导入java.awt.event.ActionEvent;
导入java.awt.event.ActionListener;
导入javax.swing.JFrame;
导入javax.swing.JLabel;
导入javax.swing.JOptionPane;
导入javax.swing.JPanel;
导入javax.swing.JRadioButton;
导入javax.swing.Timer;
导入javax.swing.UIManager;
导入javax.swing.UnsupportedLookAndFeelException;
公共类RadioButtonV3扩展JFrame{
私有静态最终长serialVersionUID=1L;
公共静态void main(字符串[]args)
{
新RadioButtonV3();
}
公共电台按钮nv3()
{
EventQueue.invokeLater
(
新的Runnable()
{
@凌驾
公开募捐{
尝试
{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(ClassNotFoundException |实例化Exception | IllegalacessException |不支持ookandfeelException ex)
{
}
容器c=getContentPane();
c、 setLayout(新的FlowLayout());
最终JPanel面板=新JPanel();
最终JRadioButton按钮1=新JRadioButton(“选项1”);
最终JRadioButton按钮2=新JRadioButton(“选项2”);
最终JRadioButton按钮3=新JRadioButton(“选项3”);
最终JRadioButton按钮4=新JRadioButton(“选项4”);
String s=“此文本将在->public void actionPerformed(ActionEvent e)”中删除;
JLabel label1=新的JLabel(s,JLabel.CENTER);
JLabel label2=新的JLabel(s,JLabel.CENTER);
label1.setFont(新字体(“DigifaceWide常规”,Font.PLAIN,20));
label2.setFont(新字体(“DigifaceWide常规”,Font.PLAIN,20));
定时器t=新定时器
(
500,新的ActionListener()
{
@凌驾
已执行的公共无效操作(操作事件e)
{
Double rand=Math.random();
标签1.setText(rand.toString());
如果(兰特<0.3){
标签1.设置前景(颜色:红色);
}
否则如果(兰特<0.6){
标签1.设置前景(颜色:灰色);
}
否则{
标签1.设置前景(颜色为绿色);
}
rand=Math.random();
label2.setText(rand.toString());
如果(兰特<0.3){
标签2.设置前景(颜色:红色);
}
否则如果(兰特<0.6){
标签2.设置前景(颜色:灰色);
}
否则{
标签2.设置前景(颜色为绿色);
}
}
}
);
t、 设置重复(真);
t、 start();
面板。添加(按钮1);
面板。添加(按钮2);
面板。添加(按钮3);
面板。添加(按钮4);
面板。添加(标签1);
面板。添加(标签2);
showMessageDialog(null,面板,“标题”,JOptionPane.INFORMATION\u消息);
t、 停止();
}
}
);
}
}
试试这个
更改代码
Container c = getContentPane();
c.setLayout(new FlowLayout());
final JPanel panel = new JPanel();
panel.setLayout(new GridLayout(2,1));
final JPanel panel1 = new JPanel();
final JPanel panel2 = new JPanel();
panel.add(panel1);
panel.add(panel2);
最后呢,
panel1.add(button1);
panel1.add(button2);
panel1.add(button3);
panel1.add(button4);
panel2.add(label1);
panel2.add(label2);
试试这个
更改代码
Container c = getContentPane();
c.setLayout(new FlowLayout());
final JPanel panel = new JPanel();
panel.setLayout(new GridLayout(2,1));
final JPanel panel1 = new JPanel();
final JPanel panel2 = new JPanel();
panel.add(panel1);
panel.add(panel2);
最后呢,
panel1.add(button1);
panel1.add(button2);
panel1.add(button3);
panel1.add(button4);
panel2.add(label1);
panel2.add(label2);