Repaint funktioniert nicht über JViewPort

Status
Nicht offen für weitere Antworten.
T

test0ster0n

Gast
Hallo,

2 Dinge funktionieren nicht richtig in meiner GUI.

Habe hier mal die ausführbare .jar geuppt.

http://www.sendspace.com/file/mx93za

1. schreibe ich viel Text oder kopiere diesen in die JTextarea, markiere Text und fahre dabei hoch/runter mit der Maus verändert sich die Größe der Komponenten über/unter der JTextArea mit dem selektierten Text darin ????


2. der gezeichnete String z.B. "your Message" wird nicht richtig repainted wenn man text einfügt/scrollt mit selektiertem text usw.

Der Source Code ist in der .jar mitdrin, einfach entpacken.

Kann mir jemand Tips geben zu obigen Problemen?
 
T

test0ster0n

Gast
so ich habe nochmals den java code zum gleich lesen hier angehängt:


weiterhin habe ich 2 screenshots gemacht zum Vergleich, dass Ihr seht was ich mit der sich veränderten GUI meine...

azjbvv2zsz6j4jvm4.png


Code:
public class MainWindow extends JFrame
{    
   static final long serialVersionUID = 1L;    
   private JTabbedPane jtp = new JTabbedPane();   
   
   public MainWindow()
   {	   
	  super("test");  
	  
	  final RP rP = new RP(); 
	 
      jtp.addTab("test", rP);   
        
      add(jtp);      
      setResizable(false);      
      setSize(400,400);
      setLocationRelativeTo(null);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        
      setVisible(true);	           
   }   
          
   public static void main(String []args)
   {  	      
	      EventQueue.invokeLater(new Runnable()
	      {
		      public void run()
		      {	  		
					new MainWindow(); 				                    
		      }
	      });  	      
   }
}


Code:
public class RP extends JPanel
{        
	private static final long serialVersionUID = 1L;

	private JPanel panel = new JPanel();
    private JTextField testNameDirectoryTF   = new JTextField(); 
    private JComboBox webName = new JComboBox();
    private JButton     testDateLB       = new JButton("test Date");   
    private JSpinner testDateSpinner = new JSpinner();
    private JSpinner forwardDateSpinner = new JSpinner();
    private JButton     forwardDateLB          = new JButton("Date1"); 
    private JButton     objectFormatLB        = new JButton("Format");
    private JComboBox  objectFormatCB        = new JComboBox(); 
    private JComboBox  testSpecialCB    = new JComboBox(); 
    private JButton testSpecialLB = new JButton("test");
    private JTextField favoritesTF = new JTextField();
    private JTextArea  testJTA	   = new JTextArea();    
    private JScrollPane testScrollBar  = new JScrollPane(testJTA);  
	private ScrollPaneWatermark watermarkInformation  = new ScrollPaneWatermark("Your Message" , new Color(77,77,77)); 
	private JProgressBar testJPB = new JProgressBar(0,100);
    private JButton showBT 		   = new JButton("show");
    private JButton testBT 	   = new JButton("save");
    private JButton sendBT 		   = new JButton("send"); 
    final   SpinnerDateModel testDateModel = new SpinnerDateModel();
    final   SpinnerDateModel forwardDateModel = new SpinnerDateModel();  
    
    public RP()
    { 
        setLayout(new GridBagLayout());           
        
        addJPanelToJFrame(testNameDirectoryTF   , 0, 0, 4, 1, 1, 1 ,GridBagConstraints.NORTH,GridBagConstraints.BOTH);
        addJPanelToJFrame(webName          , 0, 1, 4, 1, 1, 1 ,GridBagConstraints.NORTH,GridBagConstraints.BOTH);
        addJPanelToJFrame(testDateLB            , 0, 2, 1, 1, 1, 1 ,GridBagConstraints.NORTH,GridBagConstraints.BOTH);
        addJPanelToJFrame(testDateSpinner       , 1, 2, 1, 1, 1, 1 ,GridBagConstraints.NORTH,GridBagConstraints.BOTH);
        addJPanelToJFrame(forwardDateSpinner       , 2, 2, 1, 1, 1, 1 ,GridBagConstraints.NORTH,GridBagConstraints.BOTH);
        addJPanelToJFrame(forwardDateLB            , 3, 2, 1, 1, 1, 1 ,GridBagConstraints.NORTH,GridBagConstraints.BOTH);
        addJPanelToJFrame(objectFormatLB            , 0, 3, 1, 1, 1, 1 ,GridBagConstraints.NORTH,GridBagConstraints.BOTH);
        addJPanelToJFrame(objectFormatCB            , 1, 3, 1, 1, 1, 1 ,GridBagConstraints.CENTER,GridBagConstraints.BOTH);
        addJPanelToJFrame(testSpecialCB         , 2, 3, 1, 1, 1, 1 ,GridBagConstraints.NORTH,GridBagConstraints.BOTH);
        addJPanelToJFrame(testSpecialLB         , 3, 3, 1, 1, 1, 1 ,GridBagConstraints.NORTH,GridBagConstraints.BOTH);
        addJPanelToJFrame(favoritesTF               , 0, 4, 4, 1, 1, 1 ,GridBagConstraints.NORTH,GridBagConstraints.BOTH);
        addJPanelToJFrame(testScrollBar     , 0, 5, 4, 1, 1, 10 ,GridBagConstraints.NORTH,GridBagConstraints.BOTH);
        addJPanelToJFrame(testJPB        , 0, 6, 4, 1, 1, 1 ,GridBagConstraints.NORTH,GridBagConstraints.BOTH);      
       
       // Neues Layout setzen für die untersten 3 Komponenten 
       panel.setLayout(new GridBagLayout());            
       addJComponentToJPanel( panel,showBT          ,0 , 7 , 1 , 1 , 1 , 0.25 , GridBagConstraints.NORTH,GridBagConstraints.BOTH);
       addJComponentToJPanel( panel,testBT   ,1 , 7 , 1 , 1 , 1 , 0.25 , GridBagConstraints.NORTH,GridBagConstraints.BOTH);
       addJComponentToJPanel( panel,sendBT              ,2 , 7 , 1 , 1 , 1 , 0.25 , GridBagConstraints.NORTH,GridBagConstraints.BOTH);
       addJPanelToJFrame( panel,0,8,4,1,1,0.25,GridBagConstraints.NORTH,GridBagConstraints.BOTH);      
              
    	watermarkInformation.setView(testJTA); 		 
    	watermarkInformation.setBackground(new Color(93,93,93));
		testJTA.setLineWrap(true);
		testJTA.setWrapStyleWord(true);
		testScrollBar.setViewport(watermarkInformation);         
        testJTA.setBorder(new javax.swing.border.EmptyBorder(10,10,10,10));   
       
    }
    
    public void addJPanelToJFrame(JComponent c, int gridx, int gridy, int gridwidth, int gridheight, double weightx, double weighty, int anchor, int fill)
	{
    	add(c, new GridBagConstraints(gridx, gridy, gridwidth, gridheight, weightx, weighty, anchor, fill, new Insets(0, 0, 0, 0), 0, 0));
	}
    
    void addJComponentToJPanel(JPanel panel, JComponent c, int gridx, int gridy, int gridwidth, int gridheight, double weightx, double weighty, int anchor, int fill ) 
    { 
    	panel.add(c, new GridBagConstraints(gridx, gridy, gridwidth, gridheight, weightx, weighty, anchor, fill, new Insets(0, 0, 0, 0), 0, 0));        
    }
}

Code:
public class ScrollPaneWatermark extends JViewport 
{
	private static final long serialVersionUID = 1L;
	private String text;
	private Color color;       
    
    public ScrollPaneWatermark(String text , Color color)
    {
       this.text = text;
       this.color = color;
    }
   
    public void paintComponent(Graphics g)
    {      
        super.paintComponent(g);
        Rectangle rect = g.getClipBounds(); 
        g.setColor(color);
        int height =  (int)rect.getHeight();
        int width  =  (int)rect.getWidth();          
        Font font = new Font("Arial", Font.BOLD, 18); 
        g.setFont(font);
        FontMetrics fontMetrics = g.getFontMetrics(); 
        int fontWidth = fontMetrics.stringWidth(text);        
        
        g.drawString(text, width - fontWidth - 10,  height - 10);	   
    }    
  
    public void setView(JComponent view)
    {    
    	super.setView(view);	
    	view.setOpaque(false);			
    }  
}
 
T

test0ster0n

Gast
Hat denn keiner eine Ahnung oder kann mir irgendwie helfen? steht doch alles da code, jar etc mehr infos habe ich net...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Repaint Funktioniert nicht AWT, Swing, JavaFX & SWT 2
Joew0815 JDialog repaint() funktioniert nicht wie gewünscht. AWT, Swing, JavaFX & SWT 2
C Repaint() funktioniert nicht in TabbedPanel AWT, Swing, JavaFX & SWT 5
N Swing repaint() funktioniert nicht AWT, Swing, JavaFX & SWT 5
C repaint() funktioniert nicht; AWT, Swing, JavaFX & SWT 2
I Java Swing - repaint() funktioniert nicht AWT, Swing, JavaFX & SWT 4
G Schleife mit repaint funktioniert nicht. AWT, Swing, JavaFX & SWT 7
T Swing repaint funktioniert nur manchmal? AWT, Swing, JavaFX & SWT 6
T JLabel.setText() funktioniert erst nach repaint() etc.? AWT, Swing, JavaFX & SWT 4
D JUNG Repaint function does not work AWT, Swing, JavaFX & SWT 2
E repaint Probleme AWT, Swing, JavaFX & SWT 13
G listener repaint() - verschiedene Darstellung AWT, Swing, JavaFX & SWT 24
ExceptionOfExpectation Textdarstellung auf einem Canvas mit Hilfe von repaint(); AWT, Swing, JavaFX & SWT 6
J actionperformed wird nicht aufgerufen/ repaint() AWT, Swing, JavaFX & SWT 6
L Swing repaint() ruft paintComponent(g1d) nicht auf AWT, Swing, JavaFX & SWT 12
G Repaint wird nicht durchgeführt AWT, Swing, JavaFX & SWT 8
I Swing Verhindern, dass repaint() kaskadiert AWT, Swing, JavaFX & SWT 6
ms_cikar Update swingUtilities Repaint in der Schleife AWT, Swing, JavaFX & SWT 3
T Swing Probleme mit repaint() bzw. JScrollPane AWT, Swing, JavaFX & SWT 7
N Swing JButtons werden nach repaint() doppelt dargestellt AWT, Swing, JavaFX & SWT 12
K Methode repaint() AWT, Swing, JavaFX & SWT 1
B Swing Wann brauche ich repaint() ? AWT, Swing, JavaFX & SWT 1
javampir Swing repaint in JavaFX Anwendung AWT, Swing, JavaFX & SWT 3
A repaint(); AWT, Swing, JavaFX & SWT 9
J Swing ungewünschter Nebeneffekt bei der repaint() Methode AWT, Swing, JavaFX & SWT 3
A Problem: repaint() - Schleife AWT, Swing, JavaFX & SWT 3
S 2D-Grafik repaint()-Aufruf. Und nichts geschieht. AWT, Swing, JavaFX & SWT 5
P JPanel und Repaint AWT, Swing, JavaFX & SWT 5
J JavaFX Automatisches Neuzeichnen ("Repaint") abstellen. AWT, Swing, JavaFX & SWT 10
F JTable Repaint Issue AWT, Swing, JavaFX & SWT 1
N Observer: update ruft nicht repaint auf AWT, Swing, JavaFX & SWT 0
S JList repaint AWT, Swing, JavaFX & SWT 1
L NullpointerException und Probleme mit repaint() AWT, Swing, JavaFX & SWT 11
M Repaint mittels Button richtig aufrufen klappt nicht AWT, Swing, JavaFX & SWT 1
B Repaint auf JFrame, JLabel und ImageIcon AWT, Swing, JavaFX & SWT 4
K 2D-Grafik Paint - Wie binde ich repaint ein? AWT, Swing, JavaFX & SWT 8
D repaint() klappt anders als vorgestellt AWT, Swing, JavaFX & SWT 15
R Repaint() in Schleifen, Threads AWT, Swing, JavaFX & SWT 13
B Swing Repaint Problem - mal wieder AWT, Swing, JavaFX & SWT 5
P 2D-Grafik Gezielter Repaint einzelner Frames in Java-Game AWT, Swing, JavaFX & SWT 6
javampir Bei repaint nix los AWT, Swing, JavaFX & SWT 2
B Swing repaint() AWT, Swing, JavaFX & SWT 3
Ernesto95 AnimationLoop - Problem bei Aufruf von repaint AWT, Swing, JavaFX & SWT 6
P 2D-Grafik repaint(); steigender RAM Verbauch AWT, Swing, JavaFX & SWT 6
Y KeyListener, GUI Thread, repaint AWT, Swing, JavaFX & SWT 7
S Applet Repaint AWT, Swing, JavaFX & SWT 3
M Programm hängt sich auf nachdem repaint() benutzt wurde AWT, Swing, JavaFX & SWT 2
R Swing Grafikfehler bei repaint AWT, Swing, JavaFX & SWT 2
N repaint() blockieren AWT, Swing, JavaFX & SWT 6
K canvas zeig nach repaint nichts an AWT, Swing, JavaFX & SWT 8
M Repaint() AWT, Swing, JavaFX & SWT 14
J Swing repaint, repaint, repaint AWT, Swing, JavaFX & SWT 8
M Applet repaint() verlangsamen AWT, Swing, JavaFX & SWT 7
R paintComponent malt bei repaint() Rahmen um Panel AWT, Swing, JavaFX & SWT 7
P EDT Problem? Kein Aufruf der repaint Methode AWT, Swing, JavaFX & SWT 6
V Applet JApplet Flackern durch Repaint AWT, Swing, JavaFX & SWT 11
kodela Problem mit repaint() AWT, Swing, JavaFX & SWT 3
N Swing Funktion repaint() updated nicht AWT, Swing, JavaFX & SWT 5
F repaint reagiert nicht AWT, Swing, JavaFX & SWT 8
S AWT Probleme mit repaint() AWT, Swing, JavaFX & SWT 2
D Repaint()? Oder was??? AWT, Swing, JavaFX & SWT 5
M Eine nicht korrekte Darstellung bei repaint() warum? AWT, Swing, JavaFX & SWT 4
T 2D-Grafik Kreis "von Hand" zeichnen -> jedesmal repaint()? AWT, Swing, JavaFX & SWT 6
R validate(), repaint funktionieren nicht! AWT, Swing, JavaFX & SWT 7
B AWT Canvas überdeckt nach repaint() JComboBox-Optionen AWT, Swing, JavaFX & SWT 2
B Swing verschachteltes GUI: repaint() ändert mehr als nur gewünschte Component AWT, Swing, JavaFX & SWT 4
S validate(), invalidate(), repaint(),... Was kommt wann? AWT, Swing, JavaFX & SWT 5
M 2D-Grafik repaint() löscht altes Bild nicht AWT, Swing, JavaFX & SWT 2
J repaint() nicht richtig? AWT, Swing, JavaFX & SWT 6
R repaint erzwingen AWT, Swing, JavaFX & SWT 3
Zettelkasten repaint() von anderen Klassen aufrufen AWT, Swing, JavaFX & SWT 4
H repaint()-Problem - 50% CPU-Auslastung AWT, Swing, JavaFX & SWT 4
P repaint während Thread läuft AWT, Swing, JavaFX & SWT 9
D Repaint Frage, Design Frage AWT, Swing, JavaFX & SWT 2
N Swing MainWindow(JFrame) aktualisieren(neuzeichnen) repaint AWT, Swing, JavaFX & SWT 4
T repaint() Problem AWT, Swing, JavaFX & SWT 2
A 2D-Grafik Repaint - Alternative? AWT, Swing, JavaFX & SWT 3
C JLabel, JTextArea, JScrollPane. repaint(); ? AWT, Swing, JavaFX & SWT 6
K Jpanel repaint problem (Fullscreen) AWT, Swing, JavaFX & SWT 5
V Swing Bei repaint() tut sich nichts AWT, Swing, JavaFX & SWT 7
G ColorReader, bei Fadenkreuz zeichnen mit repaint() flackern AWT, Swing, JavaFX & SWT 19
I Canvas Repaint Probleme AWT, Swing, JavaFX & SWT 2
D Swing Actionlistener verhindert repaint?! AWT, Swing, JavaFX & SWT 2
S JLabel repaint AWT, Swing, JavaFX & SWT 8
C Swing Linux mag mein Swing-repaint() nicht... AWT, Swing, JavaFX & SWT 7
J Swing paintComponent() - repaint() - BufferedImage anzeigen AWT, Swing, JavaFX & SWT 5
Luk10 repaint() auch in anderen Klassen! AWT, Swing, JavaFX & SWT 6
A repaint() zu langsam, bitte um alternativen AWT, Swing, JavaFX & SWT 5
T Überlappende Transparenz und repaint() AWT, Swing, JavaFX & SWT 10
E EINFACHE Verständnisfrage zu repaint(), paintComponent(), usw. AWT, Swing, JavaFX & SWT 16
O Girdbag Formatierung nach repaint verloren AWT, Swing, JavaFX & SWT 2
E Swing - repaint() AWT, Swing, JavaFX & SWT 6
T Image wird nicht angezeigt?! - MediaTracker/repaint AWT, Swing, JavaFX & SWT 9
E AWT Problem mit Repaint (in Loop oder Timer) AWT, Swing, JavaFX & SWT 3
O Exception bei repaint AWT, Swing, JavaFX & SWT 3
D Fragen zu Swing, paintComponent() und repaint AWT, Swing, JavaFX & SWT 6
Dit_ Zeilenmarkierung verschwindet nach repaint() AWT, Swing, JavaFX & SWT 12
A Swing Infinite repaint loop unterbrechen AWT, Swing, JavaFX & SWT 7
hdi Swing EDT macht kein repaint() AWT, Swing, JavaFX & SWT 2
F "Verrutschen" von Komponenten bei repaint() AWT, Swing, JavaFX & SWT 9

Ähnliche Java Themen


Oben