Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Swing JTextPane文本/html不支持禁用的属性_Java_Html_Swing_Awt_Jtextpane - Fatal编程技术网

Java Swing JTextPane文本/html不支持禁用的属性

Java Swing JTextPane文本/html不支持禁用的属性,java,html,swing,awt,jtextpane,Java,Html,Swing,Awt,Jtextpane,我试图在JTextPane中显示一个简单的HTML页面。该页面有输入复选框/单选元素,但需要禁用它们。但是,当显示页面时,复选框和单选按钮仍处于启用状态。我不希望用户能够单击并更改其状态。这是一个错误还是我做错了什么。请帮忙。以下是示例代码: import javax.swing.*; public class JEPTest { public static void main(String[] args) throws Exception{ String data =

我试图在JTextPane中显示一个简单的HTML页面。该页面有输入复选框/单选元素,但需要禁用它们。但是,当显示页面时,复选框和单选按钮仍处于启用状态。我不希望用户能够单击并更改其状态。这是一个错误还是我做错了什么。请帮忙。以下是示例代码:

import javax.swing.*;
public class JEPTest {
    public static void main(String[] args) throws Exception{
        String data = "<html>\n" +
"\n" +
"<body>\n" +
"<input type='radio' disabled>\n" +
"\n" +
"</body>\n" +
"</html>";

    final JEditorPane textPane = new JEditorPane();
        textPane.setContentType("text/html");
        textPane.setEnabled(false);
        JScrollPane paneScrollPane = new JScrollPane(textPane);
        paneScrollPane.setVerticalScrollBarPolicy(
                        JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
        paneScrollPane.setHorizontalScrollBarPolicy(
                        JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
        //paneScrollPane.setPreferredSize(new Dimension(250, 155));
        paneScrollPane.setMinimumSize(new Dimension(100, 100));        


    JButton jb = new JButton("set");
    jb.addActionListener
        (
        new ActionListener()
    {
        public void actionPerformed(ActionEvent ae)
        {
        textPane.setText(data);

        }
    }
        );

    JFrame jf = new JFrame();
    jf.setSize(800, 600);       

    jf.getContentPane().add(textPane, BorderLayout.CENTER);
    jf.getContentPane().add(jb, BorderLayout.SOUTH);
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    jf.setVisible(true);

    }
}
import javax.swing.*;
公共类JetTest{
公共静态void main(字符串[]args)引发异常{
字符串数据=“\n”+
“\n”+
“\n”+
“\n”+
“\n”+
“\n”+
"";
最终的JEditorPane文本窗格=新的JEditorPane();
setContentType(“text/html”);
textPane.setEnabled(false);
JScrollPane paneScrollPane=新的JScrollPane(textPane);
PaneSrollPane.setVerticalScrollBarPolicy(
JScrollPane.垂直滚动条(根据需要);
PaneSrollPane.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL\u SCROLLBAR\u NEVER);
//paneScrollPane.setPreferredSize(新维度(250155));
窗格滚动窗格。设置最小尺寸(新尺寸(100100));
JButton jb=新JButton(“set”);
jb.addActionListener
(
新建ActionListener()
{
已执行的公共无效行动(行动事件ae)
{
textPane.setText(数据);
}
}
);
JFrame jf=新JFrame();
jf.设置尺寸(800600);
jf.getContentPane().add(textPane,BorderLayout.CENTER);
添加(jb,BorderLayout.SOUTH);
jf.setDefaultCloseOperation(JFrame.EXIT\u ON\u CLOSE);
jf.setVisible(真);
}
}

Swing使用一个旧的HTML呈现引擎,它只支持HTML3.2。显示
元素在该版本时不允许禁用
属性。定义的属性包括:

<!ATTLIST INPUT
        type %InputType TEXT     -- what kind of widget is needed --
        name  CDATA #IMPLIED     -- required for all but submit and reset --
        value CDATA #IMPLIED     -- required for radio and checkboxes --
        checked (checked) #IMPLIED -- for radio buttons and check boxes --
        size CDATA  #IMPLIED     -- specific to each type of field --
        maxlength NUMBER #IMPLIED
        src   %URL  #IMPLIED     -- for fields with background images --
        align %IAlign #IMPLIED   -- vertical or horizontal alignment --
        >

Swing使用一个旧的HTML呈现引擎,它只支持HTML3.2。显示
元素在该版本时不允许禁用
属性。定义的属性包括:

<!ATTLIST INPUT
        type %InputType TEXT     -- what kind of widget is needed --
        name  CDATA #IMPLIED     -- required for all but submit and reset --
        value CDATA #IMPLIED     -- required for radio and checkboxes --
        checked (checked) #IMPLIED -- for radio buttons and check boxes --
        size CDATA  #IMPLIED     -- specific to each type of field --
        maxlength NUMBER #IMPLIED
        src   %URL  #IMPLIED     -- for fields with background images --
        align %IAlign #IMPLIED   -- vertical or horizontal alignment --
        >

看来你指的是JEditorPane,不是JTextPane。您的代码不(也不应该)使用JTextPane。是的,JTextPane扩展了JTextPane。我两个都试过了。同样的行为。如果可以的话,我不建议在2020年使用Swing。你能使用其他技术吗?不幸的是,不能。看来你指的是JEditorPane,不是JTextPane。您的代码不(也不应该)使用JTextPane。是的,JTextPane扩展了JTextPane。我两个都试过了。同样的行为。如果可以的话,我不建议在2020年使用Swing。你能使用其他技术吗?不幸的是,不能。