JAVA Applet问题:关于点击按钮d出JDialog的鼠标焦点问题

JAVA Applet问题:关于点击按钮d出JDialog的鼠标焦点问题,第1张

是选庆早择模答掘式么:

可以尝试设置下 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)

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/bake/11979668.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存