searchUserButton = new JToggleButton("搜索新用户"); searchUserButton.addActionListener(new SearchUserActionListener(searchUserList)); searchControlPanel.add(progressBar); searchControlPanel.add(searchUserButton); //美工 添加停止搜索按钮 JButton stopSearchButton = new JButton("终止搜索"); stopSearchButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { ((SearchUserActionListener) searchUserButton.getActionListeners()[0]).stopSearch(); } }); searchControlPanel.add(stopSearchButton); searchUserPanel.setBorder(new TitledBorder("搜索用户")); // 在 SearchUserActionListener 中添加 stopSearch 方法 boolean isSearching = false; // 修改 run 方法,加入 isSearching 的判断 while (isSearching) { // 搜索用户的逻辑 } 把按钮改为并排
时间: 2024-02-27 19:53:33 浏览: 122
您可以使用Java Swing库中的布局管理器来实现将按钮并排排列的效果。以下是修改后的示例代码:
```
import javax.swing.*;
import javax.swing.border.TitledBorder;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ButtonExample extends JFrame {
public ButtonExample() {
setTitle("Button Example");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500, 200);
// 创建按钮和布局管理器
JToggleButton searchUserButton = new JToggleButton("搜索新用户");
JButton stopSearchButton = new JButton("终止搜索");
FlowLayout layout = new FlowLayout();
// 创建搜索用户面板
JPanel searchUserPanel = new JPanel();
searchUserPanel.setBorder(new TitledBorder("搜索用户"));
// 创建搜索控制面板
JPanel searchControlPanel = new JPanel();
searchControlPanel.setLayout(layout);
searchControlPanel.add(searchUserButton);
searchControlPanel.add(stopSearchButton);
// 将搜索控制面板添加到搜索用户面板
searchUserPanel.add(searchControlPanel);
// 添加进度条到搜索控制面板
JProgressBar progressBar = new JProgressBar();
searchControlPanel.add(progressBar);
// 点击终止搜索按钮后,调用SearchUserActionListener中的stopSearch方法
stopSearchButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
ActionListener[] actionListeners = searchUserButton.getActionListeners();
if (actionListeners.length > 0 && actionListeners[0] instanceof SearchUserActionListener) {
((SearchUserActionListener) actionListeners[0]).stopSearch();
}
}
});
// 添加搜索用户面板到窗口
add(searchUserPanel);
setVisible(true);
}
public static void main(String[] args) {
new ButtonExample();
}
}
```
在这个示例中,我们使用FlowLayout布局管理器,并将搜索控制面板中的搜索新用户按钮和终止搜索按钮添加到同一个布局中,这样它们就可以并排排列了。我们还将搜索控制面板添加到了搜索用户面板中,然后将搜索用户面板添加到了窗口中。点击终止搜索按钮后,我们获取搜索新用户按钮中的ActionListener,并调用其中的stopSearch方法。
阅读全文