我创建了一个包含多个JInternalFrame的Swing应用程序,在单击鼠标时会将其添加到JDesktopPane.我想只有一个实例中的相同的内部框架 是存在于DesktopPane.当用户打开框架时,我不希望同一帧出现两次.如果框架已打开,则应显示错误消息.
非常感谢 :)
我需要在MDI JFrame中从用户那里获取大量数据(文件选择,文本,日期......).
我需要一个JInternalFrame模态的输入表单.
我怎样才能制作JInternalFrame模态?
您好我在JFrame中使用JFrame来设计swing应用程序,我的要求是在JFrame上添加JInternal框架及其工作.现在的问题是我想根据点击jinternalframe上的按钮刷新Jframe并关闭当前的JInternal Frame.如何在按钮点击JInternal框架时使用以下代码
try
{
MainForm frm= new Mainform();
frm.cp.add("adding here JEditor Pane");
this..dispose();
}
catch(Exception ex)
{
}
Run Code Online (Sandbox Code Playgroud)
它的工作也关闭了JinternalFrame但JFrame窗体的页面在新窗口中打开而不刷新前一个你可以建议我的代码plz
非常感谢提前
我完成了由大学分配给我的项目,但是现在我正在尝试为我的项目创建MDI。我使用了10个jFrame和一个也是jFrame的主要形式,之后我添加了一个菜单栏,10个用于调用jFrame的jButton和一个jDesktopPane用于位置调用jFrame。下面的代码用于在所有10个jButton中将jFrame放置到jDesktopPane中:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try
{
asd t = new asd();
dskp.add(t);
t.setVisible(true);
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(null, ex);
}
}
Run Code Online (Sandbox Code Playgroud)
但无法与我合作,并给出以下错误消息:
java.lang.illegalargumentexception: adding a window to a container
Run Code Online (Sandbox Code Playgroud)
如何执行此操作并解决此问题,因为我没有使用任何jInternal Frame。我认为在此我无法使用jInternale Frame,因为我在jFrame上完成了所有工作,例如使用代码编写完整的GUI,并在jInternal Frame上重新完成了所有工作,这对我来说不可能在短时间内提交我的最终项目。
我可以JOptionPane.showConfirmDialog用来展示JInternalFrame吗?
我试过以下代码:
OPD.Registration opdRegister = new OPD.Registration();
//OPD.Registration is extending JInternalFrame
int ns=JOptionPane.showConfirmDialog(null, opdRegister, "Billing", JOptionPane.OK_CANCEL_OPTION,JOptionPane.PLAIN_MESSAGE);
// i am trying to call opdregister in this Confirm Dialog Box.
Run Code Online (Sandbox Code Playgroud)
通过使用上面的代码显示对话框JInternalFrame但不显示正确.它只显示标题栏.其他数据是从JInternalFrame.
如何增加此对话框的大小?
我有一个任务来创建一个JInternalFrame可以调用我的applet工作的多个(最后一个分配调用SpherePainter)并且可以计算在其中运行了多少'applet' JinternalFrame.
[小程序在另一个内部运行JInternalFrame]
public class MyInternalFrame extends JInternalFrame {
static int openFrameCount = 0;
static final int xOffset = 30, yOffset = 30;
public MyInternalFrame() {
super("SpherePainter #" + (++openFrameCount),
true,
true,
true,
true);
setSize(500,500);
//Set the window's location.
setLocation(xOffset*openFrameCount, yOffset*openFrameCount);
SpherePainterApplet sp = new SpherePainterApplet ();
sp.init();
this.add(sp);
}
Run Code Online (Sandbox Code Playgroud)
}
我可以毫无问题地调用applet,但我无法计算它们中有多少是"实际"运行的.
我的方法是checkApp++在创建一个applet和checkApp--关闭一个applet 时.有没有办法使用关闭按钮(X)或类似的听众?
我们可以JInternalFame在主框架中使用按钮吗?JDesktopPane当然,框架包含一个.按钮应该打开JInternalFrame如何?
我有一个JFrame.我添加了菜单栏.我已使用以下行设置其大小和位置.
frmMain.setBounds(0, 0, 1024, 768); // JFrame
Run Code Online (Sandbox Code Playgroud)
接下来我JInternalFrame在代码中添加了一个JInternalFrame如下:
ifActivateProject=new JInternalFrame();
ifActivateProject.setBounds(450, 400, 300, 350);
ifActivateProject.add(pnlActivateProject);
ifActivteProject.setVisible(true);
ifActivateProject.setDefaultCloseOperation(JInternalFrame.DO_NOTHING_ON_CLOSE);
frmMain.getContentPane().add(ifActivateProject);
Run Code Online (Sandbox Code Playgroud)
当我执行程序时,内部框架占据了所有剩余区域JFrame.因为我已经设置了内部框架的位置和大小.它不会出现在该位置和指定大小.
我想显示不同大小的内部框架,具体取决于一个菜单上的菜单点击装置,单击一个内部框架显示.关闭另一个菜单上的内部框架后,单击另一个应该出现在我的JFrame.所有这些内部框架都具有不同的尺寸.但问题是增加了内部框架,如上面的代码片段所示获取了所有空间JFrame.
上面的代码出了什么问题?
我在java swing中创建了一个应用程序,在JInternalFrame单击按钮时可以看到该应用程序JFrame.internalFrame由具有32列的表组成,其中值是动态添加的.
问题是,当我们点击按钮时JInternalFrame,加载会有一点延迟.在代码中循环会使它延迟
任何人都可以告诉我一些解决方案,以防止加载延迟...
public class AttendanceView extends javax.swing.JInternalFrame {
private int count=0;
String []columnNames={"<html><b>Name</b></html>","<html><b>1</b></html>","<html><b>2</b></html>",""
+ "<html><b>3</b></html>",""+ "<html><b>4</b></html>",""
+ "<html><b>5</b></html>",""+ "<html><b>6</b></html>",""
+ "<html><b>7</b></html>",""+ "<html><b>8</b></html>",""
+ "<html><b>9</b></html>",""+ "<html><b>10</b></html>",""
+ "<html><b>11</b></html>",""+ "<html><b>12</b></html>",""
+ "<html><b>13</b></html>",""+ "<html><b>14</b></html>",""
+ "<html><b>15</b></html>",""+ "<html><b>16</b></html>",""
+ "<html><b>17</b></html>",""+ "<html><b>18</b></html>",""
+ "<html><b>19</b></html>",""+ "<html><b>20</b></html>",""
+ "<html><b>21</b></html>",""+ "<html><b>22</b></html>",""
+ "<html><b>23</b></html>",""+ "<html><b>24</b></html>",""
+ "<html><b>25</b></html>",""+ "<html><b>26</b></html>",""
+ "<html><b>27</b></html>",""+ "<html><b>28</b></html>",""
+ "<html><b>29</b></html>",""+ "<html><b>30</b></html>",""
+ "<html><b>31</b></html>"};
String dataValues[][];
public AttendanceView() {
initComponents();
try
{
dataValues=new String[10][32];
int i=0;
for(i=0;i<5;i++)
{
for(int …Run Code Online (Sandbox Code Playgroud) 首先,我遇到了我的图层排序问题,这使我的JInternalFrame出现在其他组件下.在将z-order设置为0之后,已经很快修复了这个问题.
经过一些测试我意识到,当鼠标超过其他组件(如按钮或表格单元格)时,它会"泄漏"在我的JInternalFrame上,不知何故会部分失去焦点,如图所示.内容泄漏
我这样添加我的新框架:
JInternalFrame my = new JInternalFrame( "..", true, true, false, false );
this.getContentPane().add(my,0);
my.setSelected(true);
my.setVisible(true);
my.toFront();
Run Code Online (Sandbox Code Playgroud)
解决这个问题的最简单方法是什么?
谢谢!
java ×10
jinternalframe ×10
swing ×10
jframe ×2
applet ×1
frame ×1
jbutton ×1
jtable ×1
menu ×1
modal-dialog ×1
netbeans ×1
netbeans-7 ×1