问题描述
我正在学习课程,从理论上讲,我已经能够处理POO,JFrame
,JPanel
,事件和布局。我正处于Swing组件的中间,我正在尝试扩展老师所进行的一种练习。
目标是通过某些JItem修改选定的文本。老师使用JItem来修改所选文本的大小,方法与格式化和样式相同。就我而言,我想使用JSpinner
仅控制所选的文本。我不知道是否可以做到这一点。
我附上我所做的工作的代码。
public class ProcesadorDeTextos {
public static void main(String[] args) {
// Todo Auto-generated method stub
marcoProcesador marquito = new marcoProcesador();
marquito.setDefaultCloSEOperation(3);
}
}
class marcoProcesador extends JFrame{
marcoProcesador(){
setTitle("El Palabra");
setBounds(300,200,800,450);
add(new LaminaProcesador());
setVisible(true);
}
}
class LaminaProcesador extends JPanel{
public LaminaProcesador() {
setLayout(new BorderLayout());
//-----2 principle components
campoTexto = new JTextPane();
barraTools = new JMenuBar();
//Scroll
scrollTexto = new JScrollPane(campoTexto);
//---------------toolbar/barraTools-------------
fuente = new JMenu("Fuente");
estilo = new JMenu("Estilo");
configuraMenu("Arial","fuente","Arial",1,1);
configuraMenu("Courier","Courier",1);
configuraMenu("Verdana","Verdana",1);
configuraMenu("Negrita","estilo","",Font.BOLD,1);
configuraMenu("Cursiva",Font.ITALIC,1);
configuraMenu("",1);
barraTools.add(fuente);
barraTools.add(estilo);
//-------------------Adding principal components----------------
JPanel Herramientas = new JPanel();
Herramientas.add(barraTools);
add(scrollTexto,BorderLayout.CENTER);
add(Herramientas,BorderLayout.norTH);
}
private void configuraMenu(String rotulo,String menu,String tipoLetra,int estilos,int tamagnos) {
JMenuItem elemmenu = new JMenuItem(rotulo);
if(menu == "fuente") {
fuente.add(elemmenu);
elemmenu.addActionListener(new StyledEditorKit.FontFamilyAction("cambiaLetra",tipoLetra));
// StyledEditorKit.FontFamilyAction ya tiene el método ActionPerformed desarrollado
}
else if(menu == "estilo") {
estilo.add(elemmenu);
if(estilos == Font.BOLD) {
elemmenu.addActionListener(new StyledEditorKit.BoldAction());
}
else elemmenu.addActionListener(new StyledEditorKit.ItalicAction());
}
else {
JSpinner size = new JSpinner(new SpinnerNumberModel(12,8,24,2));
size.setPreferredSize(new Dimension (45,2));
//size.addchangelistener(new StyledEditorKit.FontSizeAction("cambiaTamaño",));
barraTools.add(size);
}
}
private JTextPane campoTexto;
private JScrollPane scrollTexto;
private JMenuBar barraTools;
private JMenu fuente,estilo;
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)