我想在JPanel中画一条线.这是我的GUI,我希望JPanel中的一行是白色的.

我找到很多例子,但问题是如何使用它.
在许多例子中,他们总是画一个从JPanel扩展的JFrame.
我想将面板添加到框架中并添加一些按钮以在多个方向上绘制线条,并使用中心的X按钮来清洁JPanel.
这是界面的代码:
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.Color;
import javax.swing.JScrollPane;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class circuit extends JFrame {
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
circuit frame = new circuit();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public …Run Code Online (Sandbox Code Playgroud) 我需要覆盖JTable上的回车键功能.目前,默认行为是当用户按下"Enter"键时将行选择向下移动一行.我想禁用它,让它根据他们的选择做一些不同的事情.问题是它似乎在进入我的keylistener进入行选择之前向下移动 - 因此打开另一个窗口,选择了错误的行.
到目前为止这是我的代码......:
public class MyJTable extends JTable {
public MyJTable(){
setRowSelectionAllowed(true);
addListeners()
}
public void addListeners(){
addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {}
@Override
public void keyPressed(KeyEvent e) {}
@Override
public void keyReleased(KeyEvent e) {
int key = e.getKeyCode();
if (key == KeyEvent.VK_ENTER) {
openChannel();
}
}
});
}
public void openChannel(){
for (int selectedRow : getSelectedRows()){
//Code to open channel based on row selected
}
}
}
Run Code Online (Sandbox Code Playgroud)