查了API才没找到 所以问问大家,菜鸟问题```````````````

解决方案 »

  1.   

    jTextField1.setHorizontalAlignment(jTextField1.RIGHT);
      

  2.   

    不是 JTextField  是 JTextarea,我需要创建的是文本区,不是文本域
      

  3.   

    也有,看api
    不是 JTextField  是 JTextarea 
    继承JComponet 的方法 setAlignmentX
      

  4.   

    回复 iooyoo() ( ) 信誉:100    Blog 
    我刚刚试了这个方法  参数用的是整数   但是没有作用``````````  还是从最左边开始的
      

  5.   

    JTextArea不可以
    除非继承JTextField或者JTextComponent,然后实现Area的功能
      

  6.   

    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*; public class Counter extends JFrame implements ActionListener
    {
    private JButton[] b=new JButton[17];
    private JTextArea t1=new JTextArea(1,26);
    private JTextArea t2=new JTextArea(2,26);
    private static double num1=0,num2=0,result=0;
    private static int k=0;
      public Counter()
      {
     
      t1.setAlignmentX(1);
    t1.setAlignmentY(1);
    t2.setAlignmentX(1);
    t2.setAlignmentY(1);
    Container container=getContentPane();
    container.setLayout(new BorderLayout());
    JPanel p1=new JPanel();
    p1.setLayout(new GridLayout(4,4,2,2));
    for(int i=0;i<10;i++)
    {
    b[i]=new JButton(""+i);
    }
    b[10]=new JButton(".");
    b[11]=new JButton("-");
    b[12]=new JButton("*");
    b[13]=new JButton("/");
    b[14]=new JButton("+");
    b[15]=new JButton("=");
    b[16]=new JButton("Clear");
    for(int i=0;i<16;i++)
    {
        p1.add(b[i]);
    }
    JPanel p3=new JPanel();
    p3.setLayout(new BorderLayout());
    p3.add(p1,BorderLayout.CENTER);
    p3.add(b[16],BorderLayout.SOUTH);
    JPanel p2=new JPanel();
    p2.setBackground(Color.blue);
    t1.setEditable(false);
    t2.setEditable(false);
    t1.setFont(new Font("ScanSerif",Font.BOLD,12));

    t2.setFont(new Font("ScanSerif",Font.PLAIN,12));

    p2.add(t1);
    container.add(p3,BorderLayout.CENTER);
    container.add(p2,BorderLayout.NORTH);
    container.add(t2,BorderLayout.SOUTH);
    for(int i=0;i<17;i++)
    {b[i].addActionListener(this);}

    } public static void main(String[] args)
    {
    Counter frame=new Counter();
    frame.setTitle("counter");
    frame.pack();
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
        
        public void actionPerformed(ActionEvent e)
        {
         for(int i=0;i<10;i++)
         {
              if(e.getSource()==b[i])
              {
           t1.append(String.valueOf(i));
           t2.append(String.valueOf(i));
          }
         }
         if(e.getSource()==b[10])
              {
              
           t1.append(".");
           t2.append(".");
               }
        
         else if(e.getSource()==b[11])
         {
         num1=Double.parseDouble(t1.getText().trim());
         t1.setText("  ");
         t2.append("-");
         k=1;
         }
         else if(e.getSource()==b[12])
         {
         num1=(Double.parseDouble(t1.getText().trim()));
         t1.setText(" ");
         t2.append("*");
         k=2;
         }
        
         else if(e.getSource()==b[13])
         {
         num1=(Double.parseDouble(t1.getText().trim()));
         t1.setText(" ");
         t2.append("/");
         k=3;
         }
         else if(e.getSource()==b[14])
         {
         num1=Double.parseDouble(t1.getText().trim());
         t1.setText(" ");
         t2.append("+");
         k=4;
         }
         else if(e.getSource()==b[15])
         {
         num2=Double.parseDouble(t1.getText().trim());
         t1.append("=");
         t2.append("=");
         switch(k)
         {
           case 1: result=num1-num2;break;
           case 2: result=num1*num2;break;
           case 3: result=num1/num2;break;
           case 4: result=num1+num2;break;
          }  
          t1.setText(String.valueOf(result));
          t2.append(String.valueOf(result));
         }
         else if(e.getSource()==b[16])
         {
         t1.setText("0");
         t2.setText("0");
         }
        }
    }
    是这个程序`````````   做一个简易的计算器  我想把 t1 向右对齐```
    本来T1可以用JTextfield 的,但是那样 算法要复杂点`````````
      

  7.   

    感觉还是用JTextFiled好,因为只要一行吧。JTextarea也是继承JComponet的。
      

  8.   

    mingyuan0824() ( ) 信誉:100    Blog   
    恩  用JTextfield  我也实现了`````   不过每次都取要值取出来,再放进去```还要区分小数点``` 
    我刚学JAVA ,只是试试 能不能用 几种方法实现````
      

  9.   

    api不提供,可以自己重载,自己写,不过也比较麻烦,如果只是想实现JTextArea的列和行的功能,可以自己继承JTextComponent来做
      

  10.   

    你可以试试 setComponentOrientation()方法, 文字可以右对齐,不过输入的时候光标有点儿怪。import java.awt.BorderLayout;
    import java.awt.ComponentOrientation;import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;public class T {
    public static void main(String[] args) {
    JTextArea ta = new JTextArea();
    ta.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
    JScrollPane scrollPane = new JScrollPane(ta);

    JFrame f = new JFrame();
    f.getContentPane().add(scrollPane, BorderLayout.CENTER);
    f.setSize(200, 200);
    f.setLocationRelativeTo(null);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setVisible(true);
    }
    }
      

  11.   

    回复gtlang78() ( )
    我试了 行了````````  谢谢高人``````  嘿嘿