
可以尝试设置下 setSelectionMode(ListSelectionModel.SINGLE_SELECTION)
多行选中可以去修改ListSelectionModel的值~
如果是要编辑的话。。誉举雀
需要自定义一个继承于DefaultTableModel的类
类似如下:
class MyJTableModel extends DefaultTableModel {
private boolean isCanEditOrNot = false
public MyJTableModel(Object[][] data, Object[] columnNames) {
setDataVector(data, columnNames)
}
@Override
public boolean isCellEditable(int row, int column) {
return isCanEditOrNot
}
public void setedit_not() {
isCanEditOrNot = false
}
public void setedit_can() {
isCanEditOrNot = true
}
}
然后在d出框的这个JDialog上调用MyJTableModel的对象的 setedit_can() 的方法 ~
这样设置就可以选择可以编辑了哈~
你贴的代码编译不过,我只看出一个问题,剩下的太乱我没看,用你的代码改了一戚让下码烂随便写了个新的dialogOval.setDefaultCloseOperation(JDialog.EXIT_ON_CLOSE)
这句话得改了,子窗口的关闭 *** 作不能是这个,最上层窗口才可以,改成
dialogOval.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE)
你高模局和我的代码比较下不同
import java.awt.Container
import java.awt.GridLayout
import java.awt.Rectangle
import java.awt.event.ActionEvent
import java.awt.event.ActionListener
import javax.swing.JButton
import javax.swing.JDialog
import javax.swing.JFrame
import javax.swing.JLabel
import javax.swing.JPanel
import javax.swing.JTextField
public class JobFrame extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L
private static int width = 480
private static int height = 300
private JButton oval = new JButton("椭圆")
public JobFrame() {
super("aa")
this.setLayout(new GridLayout(4, 1))
this.setBounds(new Rectangle(200, 200, width, height))
JPanel p = new JPanel()
oval.addActionListener(this)
p.add(oval)
this.add(p)
JPanel p1 = new JPanel()
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
this.setVisible(true)
}
public static void main(String[] args) {
new JobFrame()
}
public void actionPerformed(ActionEvent e) {
JDialog dialogOval = new JDialog(this, "Draw Oval")
JDialog.setDefaultLookAndFeelDecorated(true)
dialogOval.setBounds(new Rectangle(200, 200, 200, 200))
JLabel mOval = new JLabel("Please input height and width(not 0!):")
dialogOval.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE)
JTextField rheight = new JTextField()
int h = 100
JTextField rwidth = new JTextField()
int w = 200
JButton dOval = new JButton("Draw")
dOval.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// drawOval()
}
})
JButton fOval = new JButton("Fill")
fOval.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// fillOval()
}
})
Container cOval = getContentPane()
cOval.add(mOval)
cOval.add(rheight)
cOval.add(rwidth)
cOval.add(dOval)
cOval.add(fOval)
dialogOval.setVisible(true)
}
}
在按钮事件世激里让JFrame消失(dispose()方法),然后让搜枣袜你的JDialog显示岩迹出来就行了private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
this.dispose()
new NewJDialog().setVisible(true)
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)