Java Swing– 在JTextPane中插入问题的组件【JAVA教程】

!
也想出现在这里? 联系我们
信息

Java Swing– 在JTextPane中插入问题的组件,第1张

概述Java Swing – 在JTextPane中插入问题的组件

下面给出的程序在点击button上插入一个新的JTextArea。 每次新的TextArea被插入到新行中。 该程序在linux机器上工作正常,但不在windows机器上。 在windows机器上它给我BadLocationException。 任何人都可以告诉我这个问题的解决scheme。 提前致谢。

import javax.swing.JTextArea; import javax.swing.text.BadLocationException; import javax.swing.text.Styleddocument; public class TestPane extends javax.swing.JFrame { /** Creates new form TestPane */ Styleddocument doc = null; public TestPane() { initComponents(); doc = jTextPane1.getStyleddocument(); //BoxLayout messageLayout = new BoxLayout(JscrollPane1,BoxLayout.PAGE_AXIS); //jTextPane1.setLayout(messageLayout); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ @SuppressWarnings(\”unchecked\”) // <editor-fold defaultstate=\”collapsed\” desc=\”Generated Code\”> private voID initComponents() { jbutton1 = new javax.swing.Jbutton(); JscrollPane1 = new javax.swing.JscrollPane(); jTextPane1 = new javax.swing.JTextPane(); setDefaultCloSEOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jbutton1.setText(\”jbutton1\”); jbutton1.addActionListener(new java.awt.event.ActionListener() { public voID actionPerformed(java.awt.event.ActionEvent evt) { jbutton1ActionPerformed(evt); } }); JscrollPane1.setVIEwportVIEw(jTextPane1); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(164,164,164) .addComponent(jbutton1)) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(JscrollPane1,javax.swing.GroupLayout.DEFAulT_SIZE,376,Short.MAX_VALUE))) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(JscrollPane1,javax.swing.GroupLayout.PREFERRED_SIZE,286,javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jbutton1) .addContainerGap(31,Short.MAX_VALUE)) ); pack(); }// </editor-fold> private voID jbutton1ActionPerformed(java.awt.event.ActionEvent evt) { // Todo add your handling code here: jTextPane1.insertComponent(new JTextArea(\”hi this is StackOverflow \”)); jTextPane1.revalIDate(); insertEmptyLable(); } private voID insertEmptyLable() { try { doc.insertString (jTextPane1.getText().length(),\”n\”,null); } catch (BadLocationException ex) { ex.printstacktrace(); } } /** * @param args the command line arguments */ public static voID main(String args[]) { java.awt.EventQueue.invokelater(new Runnable() { public voID run() { new TestPane().setVisible(true); } }); } // Variables declaration – do not modify private javax.swing.Jbutton jbutton1; private javax.swing.JscrollPane JscrollPane1; private javax.swing.JTextPane jTextPane1; // End of variables declaration }

我可以使Django数据库path(对于sqlite3)“跨平台”?

打开窗户

即使删除数据库文件后,数据库也已经存在

以编程方式旋转显示器?

位于windows上的java.security文件在哪里?

每次actionPerformed()被调用的时候,你真的想要做insertComponent()吗? 我曾经预料过更多这样的事情:

private voID insertMessage() { try { doc.insertString(jTextPane1.getText().length(),\”Hi,this is StackOverflow.n\”,null); } catch (BadLocationException ex) { ex.printstacktrace(); } }

附录:比较这与你在同一主题上的上一个问题,你应该考虑是否要在滚动窗格中插入文本或文本组件 。 而且,NetBeans的GUI设计器已经相当成熟,但是它并不适合简短的例子。

总结

以上是内存溢出为你收集整理的Java Swing – 在JTextPane中插入问题的组件全部内容,希望文章能够帮你解决Java Swing – 在JTextPane中插入问题的组件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞58 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容