2012-06-24 20 views
6

içinde yapmak Java ile bir css düzenleyicisi oluşturmak için Swing hakkında biraz araştırma yapıyorum. CSS ve HTML'yi JTextArea'lara (ör., .css belgesi oluşturduktan sonra) dışa aktarmaya çalışıyorum. Burada "Yapılandırma" menü öğesini tıkladıktan sonra ana düzenimin çağırdığı GridLayout.JTrava veya JEditorPane'i bir JFrame kaydırılabilir

package csseditor_gui_built; 
import java.awt.GridLayout; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JTextArea; 
import javax.swing.JScrollPane; 
import javax.swing.JScrollBar; 
import javax.swing.text.DefaultCaret; 
import java.awt.Font; 
import java.awt.Color; 


public class ExportGridLayout extends JFrame { 
    public ExportGridLayout(String HTML, String CSS){ 


     GridLayout layout = new GridLayout(1,2,2,2); 
     setLayout(layout); 

     JTextArea textAreaHtml = new JTextArea(); 
     JTextArea textAreaCss = new JTextArea(); 

     //Creating a new font. 
     Font fontumuz = new Font("Courier New", Font.PLAIN, 12); 

     // Setting constructor strings 
     textAreaHtml.setText(HTML); 
     textAreaCss.setText(CSS); 

     //Additional details.. 
     textAreaHtml.setEditable(false); 
     textAreaCss.setEditable(false); 

     //Appending font to the textArea's 
     textAreaHtml.setFont(fontumuz); 
     textAreaCss.setFont(fontumuz); 

     // Adding the objects to JFrame 
     add(textAreaHtml); 
     add(textAreaCss); 

    } 
} 

Oldukça basit. Sadece bu textArea'lara kaydırma çubukları veya bölmeleri eklememe yardımcı olun. Web sitesindeki diğer öneriler çalışmıyor.

+1

HTML ile ilgili çalışmalar yapmak için, [JTextPane/JEditorPane] (http://docs.oracle.com/javase/tutorial/uiswing/components/editorpane.html) kullanmayı düşünün, 'JTextArea' böyle bir amaçla değil şeyler, IMHO. –

+0

Aynı şey, ben kullanacağım, ama sadece onları kaydırılabilir yapamazsınız – mozcelikors

cevap

8

Onun bu yolla ...

JTextArea text = new JTextArea();

JScrollPane scroll = new JScrollPane(text);

Düzenlenen parçası İşte

add(scroll);

Yardımlarınız için çalışan kod biridir:

import java.awt.*; 
import javax.swing.*; 

public class JTextAreaExample 
{ 
    private void createAndDisplayGUI() 
    { 
     JFrame frame = new JFrame("JTextArea Scrollable"); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     JPanel contentPane = new JPanel(); 
     contentPane.setLayout(new GridLayout(1, 2, 2, 2)); 

     JTextArea tArea1 = new JTextArea(); 
     tArea1.setLineWrap(true); 
     JTextArea tArea2 = new JTextArea(); 
     tArea2.setLineWrap(true); 
     tArea1.setText("I got a long long line of text in my JTextArea"); 
     tArea2.setText("I got a long long line of text in my JTextArea"); 

     JScrollPane scroller1 = new JScrollPane(); 
     JScrollPane scroller2 = new JScrollPane(); 
     scroller1.setViewportView(tArea1); 
     scroller2.setViewportView(tArea2); 

     contentPane.add(scroller1); 
     contentPane.add(scroller2); 

     frame.setContentPane(contentPane); 
     frame.setSize(100, 100); 
     frame.setLocationByPlatform(true); 
     frame.setVisible(true); 
    } 

    public static void main(String... args) 
    { 
     SwingUtilities.invokeLater(new Runnable() 
     { 
      public void run() 
      { 
       new JTextAreaExample().createAndDisplayGUI(); 
      } 
     }); 
    } 
} 
+0

Korkarım ki işe yaramıyor. Sadece derleyicide deneyin. GridLayout kullanmak ya da değil, ben – mozcelikors

+0

bilmiyorum Bu JTextArea için iyi çalışıyor ... Ve evet, sen kaydırma çubuğu görünür, böylece Çerçeve Boyutu ayarlamak JTextArea tam yapmak için yeterli giriş var umarım. –

+0

Gerçekten işe yaramıyor. Çok fazla giriş yaptım. Textareas, bütün bir web sayfasının kodunu çıkarması gerekiyor. Şey, öyle. Ancak kaydırma çubukları olmadan. – mozcelikors