Я пытаюсь сделать программу статистики хоккея и как подключить String, созданную мной для combobox, к JTextField. (Например, если Кори Перри на Анахайме имеет 3 гола, как я могу поставить 3 цели на цели JTextField)? Также, если это возможно, как мне сделать ----- Center ----- unclickable?Как подключить combobox (String) к JTextField для JFrame для Java
public FantasyHockey()
{
String team[] = {"Anaheim Ducks", "Arizona Coyotes", "Boston Bruins", "Buffalo Sabres", "Calgary Flames", "Caroline Huricanes", "Chicago Blackhawks", "Colorado Avalanche", "Columbus Blue Jackets", "Dallas Stars", "Detroit Red Wings", "Edmonton Oilers", "Florida Panthers", "Los Angeles Kings", "Minnesota Wild", "Montreal Canadiens", "Nashville Predators", "New Jersey Devils", "New York Islanders", "New York Rangers", "Ottawa Senators", "Philadelphia Flyers", "Pittsburgh Penguins", "San Jose Sharks", "St. Louis Blues", "Tampa Bay Lightning", "Toronto Maple Leafs", "Vancouver Canucks", "Washington Capitals", "Winnipeg Jets"};
teamName = new JComboBox(team);
teamName.setBounds(50, 48, 166, 25);
teamName.addActionListener(this);
getContentPane().setLayout(null);
getContentPane().add(teamName);
playerName = new JComboBox();
playerName.setBounds(241, 47, 191, 27);
//playerName.setPrototypeDisplayValue("XXXXXXXXXX");
getContentPane().add(playerName);
String[] Anaheim = { "-----Centres-----", "Corey Perry","Ryan Getzlaf" };
subItems.put(team[0], Anaheim);
String[] Arizona = { "Max Domi" };
subItems.put(team[1], Arizona);
String[] Bruins = { "Tuukka Rask" };
subItems.put(team[2], Bruins);
teamName.setSelectedIndex(0);
JLabel lblTeam = new JLabel("Team");
lblTeam.setBounds(50, 22, 61, 16);
getContentPane().add(lblTeam);
JLabel lblPlayer = new JLabel("Player");
lblPlayer.setBounds(241, 19, 61, 16);
getContentPane().add(lblPlayer);
Goals = new JTextField();
Goals.setBounds(25, 181, 42, 25);
getContentPane().add(Goals);
Goals.setColumns(10);
Goals.setEnabled(false);
JLabel lblGoals = new JLabel("Goals");
lblGoals.setBounds(25, 153, 61, 16);
getContentPane().add(lblGoals);
}
public void actionPerformed(ActionEvent e)
{
String item = (String)teamName.getSelectedItem();
Object o = subItems.get(item);
if (o == null)
{
playerName.setModel(new DefaultComboBoxModel());
}
else
{
playerName.setModel(new DefaultComboBoxModel((String[])o));
}
}
public void Goals(){
if(teamName.getSelectedItem().equals("Anaheim Ducks")){
if(playerName.getSelectedItem().equals("Corey Perry")){
Goals.setText("a");
}
}
}
public static void main(String[] args)
{
JFrame frame = new FantasyHockey();
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.setBounds(100, 100, 450, 300);
frame.setResizable(true);
}
}
Не используйте нулевой макет. Не используйте setBounds(). Swing был разработан для использования с менеджерами компоновки. – camickr