Chat LIVE With Programming Experts! There Are 23 Online Right Now...

Welcome to Dream.In.Code
Become a Java Expert!

Join 244,299 Java Programmers for FREE! Get instant access to thousands of Java experts, tutorials, code snippets, and more! There are 818 people online right now. Registration is fast and FREE... Join Now!




JScrollPane Problems

 
Reply to this topicStart new topic

JScrollPane Problems

abgorn
9 Nov, 2008 - 05:29 AM
Post #1

sudo apt-get install brain
Group Icon

Joined: 5 Jun, 2008
Posts: 1,258



Thanked: 9 times
Dream Kudos: 50
My Contributions
In a text editor I've made it has a default size of 500, 350 but when the user enlarges the window and then make it smaller again it JScrollPane becomes smaller using the largest size it has been. The source for it is below:
java

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.Font.*;
import java.util.*;
import java.io.*;

public class Main extends JFrame implements
ActionListener
{
public static JEditorPane editor = new JEditorPane();
public JScrollPane editorScrollPane = new JScrollPane(editor,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
private JMenuItem editCopy = new JMenuItem();
private JMenuItem editCut = new JMenuItem();
private JMenu editMenu = new JMenu();
private JMenuItem editPaste = new JMenuItem();
private JMenu fileMenu = new JMenu();
private JMenuItem fileNew = new JMenuItem();
private JMenuItem fileOpen = new JMenuItem();
private JMenuItem fileSave = new JMenuItem();
private JMenuItem formatFonts = new JMenuItem();
private JMenu formatMenu = new JMenu();
private JSeparator jSeparator1 = new JSeparator();
private JSeparator jSeparator2 = new JSeparator();
private JMenuBar menuBar = new JMenuBar();
private JMenuItem quit = new JMenuItem();
private JMenuItem selectAll = new JMenuItem();
private JMenuItem timeDate = new JMenuItem();

public static void getTime()
{
String time;
Calendar now = Calendar.getInstance();
int hour = now.get(Calendar.HOUR_OF_DAY);
int minute = now.get(Calendar.MINUTE);
int month = now.get(Calendar.MONTH) + 1;
int day = now.get(Calendar.DAY_OF_MONTH);
int year = now.get(Calendar.YEAR);

String monthName = "";
switch (month)
{
case (1):
monthName = "January";
break;
case (2):
monthName = "February";
break;
case (3):
monthName = "March";
break;
case (4):
monthName = "April";
break;
case (5):
monthName = "May";
break;
case (6):
monthName = "June";
break;
case (7):
monthName = "July";
break;
case (8):
monthName = "August";
break;
case (9):
monthName = "September";
break;
case (10):
monthName = "October";
break;
case (11):
monthName = "November";
break;
case (12):
monthName = "December";
}
time = monthName + " " + day + ", " + year + " " + hour + ":" + minute;
String text = editor.getText();

if (text == null) {
editor.setText(time);
} else {
editor.setText(text + " " + time);
}
}
public Main()
{
setDefaultCloseOperation(EXIT_ON_CLOSE);
setTitle("nText 0.6.0.5 Beta");

fileMenu.setText("File");

fileNew.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_N, java.awt.event.InputEvent.CTRL_MASK));
fileNew.setText("New File");
fileMenu.add(fileNew);

fileOpen.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.CTRL_MASK));
fileOpen.setText("Open File");
fileOpen.addActionListener(this);
fileMenu.add(fileOpen);

fileSave.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK));
fileSave.setText("Save File");
fileSave.addActionListener(this);
fileMenu.add(fileSave);
fileMenu.add(jSeparator1);

quit.setText("Quit");
quit.addActionListener(this);
fileMenu.add(quit);

menuBar.add(fileMenu);

editMenu.setText("Edit");

editCut.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_X, java.awt.event.InputEvent.CTRL_MASK));
editCut.setText("Cut");
editCut.addActionListener(this);
editMenu.add(editCut);

editCopy.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.CTRL_MASK));
editCopy.setText("Copy");
editCopy.addActionListener(this);
editMenu.add(editCopy);

editPaste.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_V, java.awt.event.InputEvent.CTRL_MASK));
editPaste.setText("Paste");
editPaste.addActionListener(this);
editMenu.add(editPaste);
editMenu.add(jSeparator2);

timeDate.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F5, 0));
timeDate.setText("Time & Date");
timeDate.addActionListener(this);
editMenu.add(timeDate);

selectAll.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_A, java.awt.event.InputEvent.CTRL_MASK));
selectAll.setText("Select All");
editMenu.add(selectAll);

menuBar.add(editMenu);

formatMenu.setText("Format");

formatFonts.setText("Font...");
formatMenu.add(formatFonts);

menuBar.add(formatMenu);

setJMenuBar(menuBar);

setSize(500, 350);
setLayout(new BorderLayout());
add(editorScrollPane);
setVisible(true);
}

public void actionPerformed(ActionEvent evt)
{
Object source = evt.getSource();
if (source == fileOpen) {
openFile.openFile();
} else if (source == fileNew) {
editor.setText("");
} else if (source == fileSave) {
saveFile.saveFile();
} else if (source == quit) {
System.exit(0);
} else if (source == editCut) {
editor.cut();
} else if (source == editCopy) {
editor.copy();
} else if (source == editPaste) {
editor.paste();
} else if (source == timeDate) {
getTime();
} else if (source == formatFonts) {
// The font changer will be ignored until the syntax highlighter is finished.
}
}

public static void main(String args[]) {
new Main();
}
}


User is online!Profile CardPM
+Quote Post


g00se
RE: JScrollPane Problems
9 Nov, 2008 - 06:23 AM
Post #2

D.I.C Lover
Group Icon

Joined: 19 Sep, 2008
Posts: 1,042



Thanked: 104 times
My Contributions
QUOTE
setLayout(new BorderLayout());
add(editorScrollPane);


should actually be

CODE

Container c = getContentPane();
c.setLayout(new BorderLayout());  
c.add(editorScrollPane);




User is offlineProfile CardPM
+Quote Post

abgorn
RE: JScrollPane Problems
9 Nov, 2008 - 11:17 AM
Post #3

sudo apt-get install brain
Group Icon

Joined: 5 Jun, 2008
Posts: 1,258



Thanked: 9 times
Dream Kudos: 50
My Contributions
Nope, same problem.
User is online!Profile CardPM
+Quote Post

pbl
RE: JScrollPane Problems
9 Nov, 2008 - 12:56 PM
Post #4

D.I.C Lover
Group Icon

Joined: 6 Mar, 2008
Posts: 6,951



Thanked: 673 times
Dream Kudos: 200
My Contributions
QUOTE

In a text editor I've made it has a default size of 500, 350 but when the user enlarges the window and then make it smaller again it JScrollPane becomes smaller using the largest size it has been. The source for it is below:


Your problem is not really clear to me.
Tried your code, works fine to me (I had to comment out "openFile" and "saveFile" in your listener as they are not defined)

When you enlarge or make smaller the frame the scrollPane followss as it is supposed to do.
What else do you expect ? Which behaviour would you like to see ?

"becomes smaller using the largest size it has been" he it becomes smaller how can it using the largest size he has been ? blink.gif

User is offlineProfile CardPM
+Quote Post

Fast ReplyReply to this topicStart new topic

Time is now: 7/4/09 05:18PM

Live Java Help!

Be Social

Dream.In.Code RSS Feed Dream.In.Code LinkedIn Group Follow Us On Twitter Fan Us On Facebook

Java Tutorials

Reference Sheets

Java Snippets

DIC Chatroom

Bye Bye Ads

Monthly Drawing

Thumb Drive

Top Contributors

Top 10 Kudos This Month