gpt4 book ai didi

java - 如何通过 Combobox 在 java 中设置框架的标题?

转载 作者:行者123 更新时间:2023-11-30 12:08:52 26 4
gpt4 key购买 nike

我想创建如下图所示的内容,当用户从组合框选项中选择年、月和日时,这些操作将更改标题,并且必须根据所选数据进行更改,这很简单, 我还是新手

enter image description here

到目前为止我已经这样做了,问题是它不起作用,我该怎么做?请你帮帮我好吗?

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;


public class DateForm_Complete extends JFrame {

private JLabel year, month, day;
private JComboBox cmonth, cday, cyear;

public DateForm_Complete() {

setTitle("Date Selection");
setSize(400,100);
setupWidgets();
setVisible(true);
}

private void setupWidgets() {
year= new JLabel("Year");
month= new JLabel("Month");
day= new JLabel("Day");
cyear= new JComboBox();
cmonth= new JComboBox();
cday= new JComboBox();

setLayout(new GridLayout (2,3));

add(year); add(month); add(day);
add(cyear); add(cmonth); add(cday);

for (int i=1900; i<2019; i++)
{
cyear.addItem(i);
}

String months[] = {"January","February","March","April","May","June","July","August","September","October","November","December"};

for (int i=0; i<12; i++)
{
cmonth.addItem(months[i]);
}

for (int i=1; i<32; i++)
{
cday.addItem(i);
}
setupEvents();
}

private void setupEvents() {

setDefaultCloseOperation(EXIT_ON_CLOSE);

cyear.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent ev) {
JComboBox combo = (JComboBox)ev.getSource();
String texty = (String)combo.getSelectedItem();
}
});

cmonth.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent ev) {
JComboBox combo = (JComboBox)ev.getSource();
String textm = (String)combo.getSelectedItem();
}
});

cday.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent ev) {
JComboBox combo = (JComboBox)ev.getSource();
String textd = (String)combo.getSelectedItem();
}
});
setTitle("Today is "+ texd+ "of "+ textm + "of " +texty);
}
public static void main(String[] args) {

new DateForm_Complete();
}
}

最佳答案

无论何时选择组合框中的项目,您都需要重置要显示为标题的整个字符串。

因此,您需要在您的类中使用如下方法:

public void changeTitle()
{
String year = cyear.getSeletedItem().toString();
String month = cmonth.getSelectedItem().toString();
String day = cday.getSelectedItem().toString();

setTitle("Today is "+ day + "of "+ month + "of " + year);
}

然后从 3 个 ActionListener 调用 changTitle() 方法。`

关于java - 如何通过 Combobox 在 java 中设置框架的标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54165413/

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