Strange xmodmap behaviour [kind of solved]
I'm trying to set AltGr+n to the oe ligature used in French but with no luck.
I set it like this:
xmodmap -e 'keycode 57 = n N n N oe oe'
And you can see it works, because 1) using the -verbose option it doesn't show an error:
xmodmap -verbose -e 'keycode 57 = n N n N oe OE'
! 1: keycode 57 = n N n N oe OE
keycode 0x39 = n N n N oe OE
! executing work queue
keycode 0x39 = n N n N oe OE
2) If oe wasn't a legal keysym name, it would show an error:
xmodmap -e 'keycode 57 = n N n N qwe qe'
xmodmap: commandline:1: bad keysym name 'qwe' in keysym list
xmodmap: commandline:1: bad keysym name 'qe' in keysym list
xmodmap: 2 errors encountered, aborting.
3) It shows when I run xmodmap -pk and -pke:
38 0x0061 (a) 0x0041 (A) 0x0061 (a) 0x0041 (A) 0x00e6 (ae) 0x00c6 (AE)
57 0x006e (n) 0x004e (N) 0x006e (n) 0x004e (N) 0x13bd (oe) 0x13bc (OE)
keycode 38 = a A a A ae AE
keycode 57 = n N n N oe OE
Still, when I press AltGr + n, it shows 'n'. It works correctly with a (Altgr+a = æ), though, even if I set it manually or I just load my keyboard layout.
Any thoughts?
TIA
PS: I'm using the last xorg in [extra] with no hal. Parts of my xorg.conf:
Section "ServerFlags"
Option "AutoAddDevices" "false"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "abnt2"
Option "XkbLayout" "br"
Option "XkbVariant" "abnt2"
EndSection
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Last edited by andre.ramaciotti (2009-01-26 13:12:39)
It doesn't work.
Once, in another post, I and another forist concluded that the problem is probably with xkb. IIRC, he is German (and I'm Brazilian) but both keyboard layouts shared this problem. When you try to define the AltGr meaning of certain keys, it doesn't work (as you can see from the posts above, if I define o, it works, but if I define n, it doesn't).
As the other forist found, it was somewhat related to how the keyboard layout is defined by xkb by default. I don't remember exactly the syntax, but almost all keys have a meaning defined when pressed together with AltGr, except (in the layout I use) j and n, so I can't define a meaning to them via xmodmap, because xkb will ignore it anyway.
I'm sorry, but I don't remember the name of this topic. I don't even know how to start searching for it. If I find it, I'll post it here.
Thanks anyway.
edit: ok, so the guy wasn't German, sorry, but this is the topic I was talking about: http://bbs.archlinux.org/viewtopic.php?id=64886
Last edited by andre.ramaciotti (2009-11-19 11:48:02)
Similar Messages
-
Strange repaint behaviour with JList & Keyboard actions
Hi everyone,
This is my first post to the forum. You guys have been a great help in the past and I hope to contribute more in the future.
Anyways, I've encountered some strange repainting behaviour with a JDialog that uses a JList and a JButton. The dialog is fairly straight-forward and basically this is how it works (like an open file dialog - yes I'm implementing my own filechooser of sorts):
* JList lists a number of simple items that the user can select from.
* Once a selection is made, an Open button (JButton) is enabled.
* <ENTER> key is registered (using registerKeyboardAction()) with a JPanel which is used as the main content pane in the dialog.
* The user can either click on the Open Button or hit the <ENTER> key which then closes the dialog and runs whatever logic that needs to.
Now, the repaint problem comes in when:
1. User selects an item.
2. User hits the <ENTER> button
3. Dialog closes
4. User brings the dialog back up. This entails reloading the list by removing all elements from the list and adding new ones back in.
5. Now... if the user uses the mouse to select an item lower in the list than what was done in step #1, the selection is made, but the JList doesn't repaint to show that the new selection was made.
I didn't include a code sample because the dialog setup is totally straight-forward and I'm not doing anything trick (I've been doing this kind of thing for years now).
If I remove the key registration for the <ENTER> key from the dialog, this problem NEVER happens. Has anyone seen anything like this? It's a minor problem since my workaround is to use a ListSelectionListener which manually calls repaint() on the JList inside the valueChanged() method.
Just curious,
HuyOh, my bad. I'm actually using a JToggleButton and not a JButton, so the getRootPane().setDefaultButton() doesn't apply because it only takes JButton as an input param. I wonder why it wasn't implemented to take AbstractButton. hmmm.
-
Hi there,
I'm experiencing some strange clock behaviour with my system clock in Mac OS 10.4.10.
The digital clock shows the right time while the analog clock shows the wrong time (2 hours offset) in the same dialog.
The system time in general seems to be wrong since the time schedule in eyetv's TV program dialog isn't correct either.
Does anyone have a clue how to solve this issue?
thx in advance,
beelzebubihi,
sry for the long delay in my reply - i was on holiday w/o internet access.
about my problem:
if you carefully compare both times in picture 1 I've attached to my post (http://de.geocities.com/dannerste/Bild1.png) you'll notice that the digital clock shows a different time than the analog clock.
The analog clock shows ~22:00 (right time) whereas the analog clock shows ~20:00 o'clock (wrong time).
I don't have a clue where this difference comes from and how to resolve it.
As I've also noticed before my system time in general seems to be faulty: e.g. the EPG program guide in eyeTV shows wrong the time too, the TV program itself (its content) is OK.
thx for your support,
beelzebubi -
Hi Community!
I've encountered a strange behavior with our Accesspoints:
from the config:
dot11 ssid name1
vlan 230
authentication open mac-address mac_methods1
mbssid guest-mode
dot11 ssid name2
vlan 209
authentication open eap eap_methods1
authentication network-eap eap_methods1
authentication key-management wpa
mbssid guest-mode
information-element ssidl
interface Dot11Radio0
ssid name1
ssid name2
this works perfect....
clients get IPs via DHCP on both SSID. "name1" is authenticated via RADIUS and put in another VLAN (133 with local subnetted DHCP Server), SSID name2 is relayed via helper-adress
The Radius replies work on "name1" is see it in debug output as the AP puts the Clinet from 230 vlan to 133 vlan
if I rename ssid "name1" to "newname".. it breaks up the "newname" SSID. Clients won't get a dhcp lease anymore (Wireshark sees only "DO", the "RA" seems to be missing in the DHCP protocol) . I gave my laptop an static IP, no success, too.
if I do a "no ssid name2", it works perfectly again
the config was running before without any problems. So I guess Trunks and VLANs are set up correct. The only thing I changed in the config was the name of the first SSID (meaning, deleting the old ssid and creating the new with the exact same settings)
I've tried that on different AP models, all autonomous mode, different IOS.. but same behaviour
Kind Regards
MartinHi!
did a factory default.. no success.
some more details:
the "Carajillo", 209 VLAN shall be used for internal Clients
The "xnet", VLAN 230 and 133 shall be used for Guest Access. People connect to xnet, get an IP from the A.B.230.0/24 Subnet and can register at our Packetfence (http://packetfence.org) Server. After registration, the Packetfence Radius Server at A.B.130.24 sets the VLAN for the Client to VLAN133, Client will get an .133 IP from a DSL Router within that same subnet ( no IP helper needed)
That's what we observe:
-Packetfence is offering an 230. subnet IP
-Client is receiving 230.0/24 IP (works on either xnet or @xnet)
-Client registers
-Packetfence deregisters Client and sending an correct mesage to AP, so that the Client is now in the 133 VLAN
a) Client receives no 133.0/24 IP adress if SSID is named "xnet"
b) Client receives 133.0/24 IP adress if SSID is named "@xnet"
again,
we've compared the config.. they're exactly the same, execpt for the SSID nae and the Order within the running-conf
we've checked the Radius responses.. they work, we can also see the Client on the AP, that it is put on the 133 VLAN
this one is not working, but if you replace the "xnet" with "@xnet" it will work!!
when you rename the xnet -> @xnet it will show up in running-conf _before_ the Carajillo, (ASCII Sort order?)
that's really all that changes in the config, we've checked that several times!
version 12.3
no service pad
service timestamps debug datetime localtime
service timestamps log datetime localtime
service password-encryption
service sequence-numbers
hostname ap141
no logging console
enable secret 5 ***
clock timezone MET 1
clock summer-time MEST recurring last Sun Mar 2:00 last Sun Oct 3:00
ip subnet-zero
ip domain name **.de
ip name-server A.B.130.38
ip name-server A.B.130.40
aaa new-model
aaa group server radius RADIUS_AUTH
server A.B.130.38 auth-port 1645 acct-port 1646
aaa group server radius rad_eap1
server A.B.130.38 auth-port 1645 acct-port 1646
aaa group server radius rad_mac1
server A.B.130.24 auth-port 1812 acct-port 1813
aaa authentication login networkaccess group RADIUS_AUTH enable local
aaa authentication login eap_methods1 group rad_eap1
aaa authentication login mac_methods1 group rad_mac1
aaa authorization exec default group RADIUS_AUTH if-authenticated
aaa session-id common
dot11 mbssid
dot11 syslog
dot11 vlan-name DSL vlan 133
dot11 vlan-name WLANint vlan 209
dot11 vlan-name netmgmt vlan 64
dot11 vlan-name wlanreg vlan 230
dot11 ssid Carajillo
vlan 209
authentication open eap eap_methods1
authentication network-eap eap_methods1
authentication key-management wpa
mbssid guest-mode
information-element ssidl
dot11 ssid xnet
vlan 230
authentication open mac-address mac_methods1
mbssid guest-mode
crypto pki trustpoint TP-self-signed-206195615
enrollment selfsigned
subject-name cn=IOS-Self-Signed-Certificate-206195615
revocation-check none
rsakeypair TP-self-signed-206195615
crypto ca certificate chain TP-self-signed-206195615
certificate self-signed 01
30820229 **(snip**) 6B
quit
username Cisco password 7 ***
bridge irb
interface Dot11Radio0
no ip address
no ip route-cache
encryption vlan 209 mode ciphers aes-ccm tkip
broadcast-key vlan 209 change 3600
ssid Carajillo
ssid xnet
speed basic-1.0 basic-2.0 basic-5.5 6.0 9.0 basic-11.0 12.0 18.0 24.0 36.0 48.0 54.0
channel 2412
station-role root
interface Dot11Radio0.64
encapsulation dot1Q 64 native
no ip route-cache
bridge-group 1
bridge-group 1 subscriber-loop-control
bridge-group 1 block-unknown-source
no bridge-group 1 source-learning
no bridge-group 1 unicast-flooding
bridge-group 1 spanning-disabled
interface Dot11Radio0.133
encapsulation dot1Q 133
no ip route-cache
bridge-group 133
bridge-group 133 subscriber-loop-control
bridge-group 133 block-unknown-source
no bridge-group 133 source-learning
no bridge-group 133 unicast-flooding
bridge-group 133 spanning-disabled
interface Dot11Radio0.209
encapsulation dot1Q 209
no ip route-cache
bridge-group 209
bridge-group 209 subscriber-loop-control
bridge-group 209 block-unknown-source
no bridge-group 209 source-learning
no bridge-group 209 unicast-flooding
bridge-group 209 spanning-disabled
interface Dot11Radio0.230
encapsulation dot1Q 230
no ip route-cache
bridge-group 230
bridge-group 230 subscriber-loop-control
bridge-group 230 block-unknown-source
no bridge-group 230 source-learning
no bridge-group 230 unicast-flooding
bridge-group 230 spanning-disabled
interface FastEthernet0
no ip address
no ip route-cache
duplex auto
speed auto
bridge-group 1
no bridge-group 1 source-learning
bridge-group 1 spanning-disabled
interface FastEthernet0.133
encapsulation dot1Q 133
no ip route-cache
bridge-group 133
no bridge-group 133 source-learning
bridge-group 133 spanning-disabled
interface FastEthernet0.209
encapsulation dot1Q 209
no ip route-cache
bridge-group 209
no bridge-group 209 source-learning
bridge-group 209 spanning-disabled
interface FastEthernet0.230
encapsulation dot1Q 230
no ip route-cache
bridge-group 230
no bridge-group 230 source-learning
bridge-group 230 spanning-disabled
interface BVI1
ip address A.B.64.141 255.255.255.0
no ip route-cache
ip default-gateway A.B.64.254
no ip http server
ip http authentication aaa login-authentication networkaccess
ip http authentication aaa exec-authorization networkaccess
ip http secure-server
ip http help-path http://www.cisco.com/warp/public/779/smbiz/prodconfig/help/eag
snmp-server view dot11view ieee802dot11 included
snmp-server community ** RO
snmp-server community ** RW
snmp-server location *
snmp-server contact *
radius-server host A.B.130.38 auth-port 1645 acct-port 1646 key 7 ***
radius-server host A.B.130.24 auth-port 1812 acct-port 1813 key 7 ***
bridge 1 route ip
line con 0
line vty 0 4
access-class 111 in
login authentication networkaccess
line vty 5 15
access-class 111 in
login authentication networkaccess
sntp server A.B.96.12 version 3
end
Regards
Martin -
Strange memory behaviour using the System.Collections.Hashtable in object reference
Dear all,
Recently I came across a strange memory behaviour when comparing the system.collections.hashtable versus de scripting.dictionary object and thought to analyse it a bit in depth. First I thought I incorrectly destroyed references to the class and
child classes but even when properly destroying them (and even implemented a "SafeObject" with deallocate method) I kept seeing strange memory behaviour.
Hope this will help others when facing strange memory usage BUT I dont have a solution to the problem (yet) suggestions are welcome.
Setting:
I have a parent class that stores data in child classes through the use of a dictionary object. I want to store many differenct items in memory and fetching or alteging them must be as efficient as possible using the dictionary ability of retrieving key
/ value pairs. When the child class (which I store in the dictionary as value) contains another dictionary object memory handeling is as expected where all used memory is release upon the objects leaving scope (or destroyed via code). When I use a system.collection.hashtable
no memory is released at all though apears to have some internal flag that marks it as useable for another system.collection.hashtable object.
I created a small test snippet of code to test this behaviour with (running excel from the Office Plus 2010 version) The snippet contains a module to instantiate the parent class and child classes that will contain the data. One sub will test the Hash functionality
and the other sub will test the dictionary functionality.
Module1
Option Explicit
Sub testHash()
Dim Parent As parent_class
Dim d_Count As Double
'Instantiate parent class
Set Parent = New parent_class
'Create a child using the hash collection object
Parent.AddChildHash "TEST_hash"
Dim d_CycleCount As Double
d_CycleCount = 50000
'Add dummy data records to the child container with x amount of data For d_Count = 0 To d_CycleCount
Parent.ChildContainer("TEST_hash").InsertDataToHash CStr(d_Count), "dummy data"
Next
'Killing the parent when it goes out of scope should kill the childs. (Try it out and watch for the termination debug messages)
'According to documentation and debug messages not really required!
Set Parent.ChildContainer("TEST_hash") = Nothing
'According to documentation not really as we are leaving scope but just to be consistent.. kill the parent!
Set Parent = Nothing
End Sub
Sub testDict()
Dim Parent As parent_class
Dim d_Count As Double
'Instantiate parent class
Set Parent = New parent_class
'Create a child using the dictionary object
Parent.AddChildDict "TEST_dict"
Dim d_CycleCount As Double
d_CycleCount = 50000
'Blow up the memory with x amount of records
Dim s_SheetCycleCount As String
s_SheetCycleCount = ThisWorkbook.Worksheets("ButtonSheet").Range("K2").Value
If IsNumeric(s_SheetCycleCount) Then d_CycleCount = CDbl(s_SheetCycleCount)
'Add dummy data records to the child container
For d_Count = 0 To d_CycleCount
Parent.ChildContainer("TEST_dict").InsertDataToDict CStr(d_Count), "dummy data"
Next
'Killing the parent when it goes out of scope should kill the childs. (Try it out and watch for the termination debug messages)
'According to documentation and debug messages not really required!
Set Parent.ChildContainer("TEST_dict") = Nothing
'According to documentation not really as we are leaving scope but just to be consistent.. kill the parent!
Set Parent = Nothing
End Sub
parent_class:
Option Explicit
Public ChildContainer As Object
Private Counter As Double
Private Sub Class_Initialize()
Debug.Print "Parent initialized"
Set ChildContainer = CreateObject("Scripting.dictionary")
End Sub
Public Sub AddChildHash(ByRef ChildKey As String)
If Not ChildContainer.Exists(ChildKey) Then
Dim TmpChild As child_class_hashtable
Set TmpChild = New child_class_hashtable
ChildContainer.Add ChildKey, TmpChild
Counter = Counter + 1
Set TmpChild = Nothing
End If
End Sub
Public Sub AddChildDict(ByRef ChildKey As String)
If Not ChildContainer.Exists(ChildKey) Then
Dim TmpChild As child_class_dict
Set TmpChild = New child_class_dict
ChildContainer.Add ChildKey, TmpChild
Counter = Counter + 1
Set TmpChild = Nothing
End If
End Sub
Private Sub Class_Terminate()
Debug.Print "Parent being killed, first kill all childs (if there are any left!) - muahaha"
Set ChildContainer = Nothing
Debug.Print "Parent killed"
End Sub
child_class_dict
Option Explicit
Public MemmoryLeakObject As Object
Private Sub Class_Initialize()
Debug.Print "Child using Scripting.Dictionary initialized"
Set MemmoryLeakObject = CreateObject("Scripting.Dictionary")
End Sub
Public Sub InsertDataToDict(ByRef KeyValue As String, ByRef DataValue As String)
If Not MemmoryLeakObject.Exists(KeyValue) Then MemmoryLeakObject.Add KeyValue, DataValue
End Sub
Private Sub Class_Terminate()
Debug.Print "Child using Scripting.Dictionary terminated"
Set MemmoryLeakObject = Nothing
End Sub
child_class_hash:
Option Explicit
Public MemmoryLeakObject As Object
Private Sub Class_Initialize()
Debug.Print "Child using System.Collections.Hashtable initialized"
Set MemmoryLeakObject = CreateObject("System.Collections.Hashtable")
End Sub
Public Sub InsertDataToHash(ByRef KeyValue As String, ByRef DataValue As String)
If Not MemmoryLeakObject.ContainsKey(KeyValue) Then MemmoryLeakObject.Add KeyValue, DataValue
End Sub
Private Sub Class_Terminate()
Debug.Print "Child using System.Collections.Hashtable terminated"
Set MemmoryLeakObject = Nothing
End Sub
Statistics:
TEST: (Chronologically ordered)
1.1 Excel starting memory: 25.324 kb approximately
Max memory usage after hash (500.000 records) 84.352 kb approximately
Memory released: 0 %
1.2 max memory usages after 2nd consequtive hash usage 81.616 kb approximately
"observation:
- memory is released then reused
- less max memory consumed"
1.3 max memory usages after 3rd consequtive hash usage 80.000 kb approximately
"observation:
- memory is released then reused
- less max memory consumed"
1.4 Running the dictionary procedure after any of the hash runs will start from the already allocated memory
In this case from 80000 kb to 147000 kb
Close excel, free up memory and restart excel
2.1 Excel starting memory: 25.324 kb approximately
Max memory usage after dict (500.000 records) 90.000 kb approximately
Memory released: 91,9%
2.2 Excel starting memory 2nd consequtive dict run: 27.552 kb approximately
Max memory usage after dict (500.000 records) 90.000 kb approximately
Memory released: 99,4%
2.3 Excel starting memory 3rd consequtive dict run: 27.712 kb approximately
Max memory usage after dict (500.000 records) 90.000 kb approximately
Memory released:Hi Cor,
Thank you for going through my post and took the time to reply :) Most apreciated. The issue I am facing is that the memory is not reallocated when using mixed object types and is not behaving the same. I not understand that .net versus the older methods
use memory allocation differently and perhaps using the .net dictionary object (in stead of the scripting.dictionary) may lead to similar behaviour. {Curious to find that out -> put to the to do list of interesting thingies to explore}
I agree that allocated memory is not a bad thing as the blocks are already assigned to the program and therefore should be reallocated with more performance. However the dictionary object versus hashtable perform almost identical (and sometimes even favor
the dictionary object)
The hashtable is clearly the winner when dealing with small sets of data.
The issue arises when I am using the hash table in conjunction with another type, for example a dictionary, I see that the dictionary object's memory is stacked on top of the claimed memory space of the hashtable. It appears that .net memory allocation and
reuse is for .net references only. :) (Or so it seems)
In another example I got with the similar setup, I see that the total used memory is never released or reclaimed and leakage of around 20% allocated memory remains to eventually crash the system with the out of memory message. (This is when another class
calls the parent class that instantiates the child class but thats not the point of the question at hand)
This leakage drove me to investigate and create the example of this post in the first place. For the solution with the class -> parent class -> child class memory leak I switched all to dictionaries and no leakage occurs anymore but nevertheless thought
it may be good to share / ask if anyone else knows more :D (Never to old to learn something new) -
Strange Finder behaviour since installing Mountain Lion
I've been experiencing some strange finder behaviour since updating to Mountain Lion. Folders take several seconds to open after clicking on them (and sometimes won't open at all) and files cannot be moved around the desktop or dragged on to an app. However, it is possible to open a file by clicking on it. I've tried re-booting with Snow Leopard and everything seems OK, but as soon as I go back to ML, the problem starts again.
Library is a folder, not a file. There're more than one Library folders, one at the root and one for each user in your Mac. All of them are hidden, this is why you can't find them. But you can see their contents using
Finder Menu > Go > Go to Folder
And then type:
~/Library
for your Library Folder
-or-
/Library
for the root Library folder. -
Strange layout behaviour with TilePane
here is the demo
1.rootLayout have 2 child,controlbox and contentLayout
2.3 button on controlbox
3.contentLayout will add content,when press deffrent button on controlbox
4.watch button "Add TilePane" , strange layout behaviour , what is the matter?
layout picture
|--------------------------------|
| | |
| | |
| | |
| | |
|controlbox | contentLayout |
| (VBox) | (StackPane) |
| | |
| | |
| | |
| | |
|--------------------------------|
the code
import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.ListView;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.TilePane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class testTilePaneLayout extends Application {
StackPane contentLayout = new StackPane();
//add content with 2 Button
public void addContent(){
VBox vbox = new VBox();
contentLayout.getChildren().clear();
contentLayout.getChildren().add(vbox);
StackPane.setAlignment(vbox,Pos.CENTER);
Button btn = new Button("Button1");
Button btn2= new Button("Button2");
vbox.getChildren().add(btn);
vbox.getChildren().add(btn2);
//add content with 2 Button & 1 ListView
public void addListViewContent(){
VBox vbox = new VBox();
contentLayout.getChildren().clear();
contentLayout.getChildren().add(vbox);
StackPane.setAlignment(vbox,Pos.CENTER);
Button btn = new Button("Button1");
Button btn2= new Button("Button2");
vbox.getChildren().add(btn);
vbox.getChildren().add(btn2);
@SuppressWarnings("rawtypes")
ListView listView = new ListView();
vbox.getChildren().add(listView);
//add content with 2 Button & 1 TilePane
public void addTilePaneContent(){
VBox vbox = new VBox();
contentLayout.getChildren().clear();
contentLayout.getChildren().add(vbox);
StackPane.setAlignment(vbox,Pos.CENTER);
Button btn = new Button("Button1");
Button btn2= new Button("Button2");
vbox.getChildren().add(btn);
vbox.getChildren().add(btn2);
TilePane tilePane = new TilePane();
tilePane.setMaxSize(100,100);
Label lbl = new Label("Label on TilePane");
tilePane.getChildren().add(lbl);
vbox.getChildren().add(tilePane);
public void start(Stage stage) {
stage.setResizable(false);
stage.centerOnScreen();
Group root = new Group();
Scene scene = new Scene(root,800,600);
stage.setScene(scene);
//root Layout = StackPane
StackPane rootLayout = new StackPane();
root.getChildren().add(rootLayout);
rootLayout.setMinSize(800,600);
rootLayout.setMaxSize(800,600);
//content StackPane
rootLayout.getChildren().add(contentLayout);
contentLayout.setMinSize(100, 100);
contentLayout.setMaxSize(200, 200);
StackPane.setAlignment(contentLayout,Pos.CENTER);
//control VBox
VBox controlBox = new VBox();
rootLayout.getChildren().add(controlBox);
controlBox.setMaxSize(100, 200);
StackPane.setAlignment(controlBox,Pos.CENTER_LEFT);
//3 control button
Button btn1 = new Button("Add button");
Button btn2= new Button("Add Listview");
Button btn3= new Button("Add TilePane");
controlBox.getChildren().add(btn1);
controlBox.getChildren().add(btn2);
controlBox.getChildren().add(btn3);
btn1.setOnMousePressed(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent arg0) {
addContent();
btn2.setOnMousePressed(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent arg0) {
addListViewContent();
btn3.setOnMousePressed(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent arg0) {
addTilePaneContent();
stage.show();
public static void main(String[] args) {
Application.launch(args);
}Edited by: noregister on Oct 4, 2011 11:30 AM
Edited by: noregister on Oct 4, 2011 11:31 AMOh, my bad. I'm actually using a JToggleButton and not a JButton, so the getRootPane().setDefaultButton() doesn't apply because it only takes JButton as an input param. I wonder why it wasn't implemented to take AbstractButton. hmmm.
-
Strange JTable behaviour - everything is highlighted
Hello all,
im experiencing some strange JTable behaviour, and im not so sure why. When i run my program, the JTable appears, but all the cells are highlighted in advance. Also, i can now only select one cell at a time. I have set myTable.setSelectionModeListSelectionModel.SINGLE_INTERVAL_SELECTION); myTable.setCellSelectionEnabled(true);and my renderer code is below. I call the renderer by using the setDefaultRenderer method with(Object.class,myRenderer).
I have also changed isCellEditable to return true. If i dont use Object.class, and try to use my own custom class, the JTable is not all highlighted, but it doesnt seem to use myRenderer, and when i click on the header of Column A, all cells from column B and beyond become highlight, which is not normal behaviour. I thought the colum you selected should be highlighted.
Sorry for the long post, i hope the above makes sense...this is really quite bizzare, and im not so sure why this is happening. Thanks for any advice you can give, regards, Rupz
import javax.swing.*;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.border.*;
import java.awt.Component;
import java.awt.Color;
import java.awt.Rectangle;
import java.util.*;
import java.awt.*;
public class MyTableCellRenderer extends DefaultTableCellRenderer{
private Font cellFont;
private LineBorder selectBorder;
private EmptyBorder emptyBorder;
public MyTableCellRenderer() {
super();
setOpaque(true);
emptyBorder = new EmptyBorder(1, 2, 1, 2);
cellFont = new Font("Times", Font.PLAIN, 10);
setFont(cellFont);
selectBorder = new LineBorder(Color.red);
private boolean isHeaderCell(int row, int column){return column == 0;}
public Component getTableCellRendererComponent (JTable myTable, Object value, boolean isSelected, boolean hasFocus, int row, int column){
//super.getTableCellRendererComponent(myTable, value, isSelected, hasFocus,row, column);
if (isSelected){
super.setForeground(myTable.getSelectionForeground());
super.setBackground(myTable.getSelectionBackground());
setBorder(selectBorder);
else{
super.setForeground(myTable.getSelectionForeground());
super.setBackground(myTable.getSelectionBackground());
setBorder(emptyBorder);
if (hasFocus) {
setBorder(selectBorder);
if (myTable.isCellEditable(row,column)) {
super.setForeground(UIManager.getColor("Table.focusCellForeground"));
super.setBackground(UIManager.getColor("Table.focusCellBackground"));
else {setBorder(noFocusBorder);}
setValue(value, isSelected, hasFocus, row, column);
// Color bDis = getBackground();
// boolean colourEquals = (bDis != null) && (bDis.equals(myTable.getBackground()) ) & myTable.isOpaque();
// setOpaque (!colourEquals);
return this;
public void setValue (Object value, boolean hasFocus, boolean isSelected, int row, int column){
if (value instanceof myCell){
myCell foo = (myCell)value;
Object data = foo.getValue(row,column);
if (isHeaderCell(row, column)) {
//label cells are center aligned
setHorizontalAlignment(JTextField.CENTER);
}else {
if (data instanceof Number) {
//numbers are right justified
setHorizontalAlignment(JTextField.RIGHT);
}else {
//everything else is left justified
setHorizontalAlignment(JTextField.LEFT);
//value to display in table
setText((data == null) ? "" : data.toString());
else {
//not cell object so render with toString of that object
setText((value == null) ? "" : value.toString());Hi VV!
thanks for the reply - now the table isnt all highlight when loaded, but as for cell celection..thats a different matter. I did have myTable.setCellSelectionEnabled(true); but no, the cell behaviour is really, eally weird, quite hard to explain, but here goes.
If i try to select cell D1 and D2 - D1 is selected, D2, E2,F2 and so on become selected. If i try to add D3 to the mix, the entire row 3 is selected, and as soon as i let go of the mouse button, the entire table except row 1 gets selected. really really weird. Below is my tableModel and what i do to the table. Thanks for your help,
regards
Rupz
myTable.setModel(new myTableModel(this,40,40));
// Create a row-header to display row numbers.
// This row-header is made of labels whose Borders,
// Foregrounds, Backgrounds, and Fonts must be
// the one used for the table column headers.
// Also ensure that the row-header labels and the table
// rows have the same height.
numRows = myTable.getColumnCount();
numCols = myTable.getRowCount();
TableColumn aColumn = myTable.getColumnModel().getColumn(0);
TableCellRenderer aRenderer = myTable.getTableHeader().getDefaultRenderer();
Component aComponent = aRenderer.getTableCellRendererComponent(myTable, aColumn.getHeaderValue(), false, false, -1, 0);
Font aFont = aComponent.getFont();
Color aBackground = aComponent.getBackground();
Color aForeground = aComponent.getForeground();
Border border = (Border)UIManager.getDefaults().get("TableHeader.cellBorder");
FontMetrics metrics = getFontMetrics(cellFont);
* Creating a panel to be used as the row header.
* Since I'm not using any LayoutManager,
* a call to setPreferredSize().
JPanel pnl = new JPanel((LayoutManager)null);
Dimension dim = new Dimension( 40, rowHeight*numRows);
pnl.setPreferredSize(dim);
// Adding the row header labels
dim.height = rowHeight;
for (int ii=0; ii<numRows; ii++) {
JLabel lbl = new JLabel(Integer.toString(ii+1), SwingConstants.CENTER);
lbl.setFont(aFont);
lbl.setBackground(aBackground);
lbl.setForeground(aForeground);
lbl.setBorder(border);
lbl.setBounds(0, ii*dim.height, dim.width, dim.height);
pnl.add(lbl);
JViewport vp = new JViewport();
dim.height = rowHeight*numRows;
vp.setViewSize(dim);
vp.setView(pnl);
// Set resize policy and make sure
// the table's size is tailored
// as soon as it gets drawn.
myTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
Dimension dimScpViewport = myTable.getPreferredScrollableViewportSize();
if (numRows>30) dimScpViewport.height = 30*rowHeight;
else dimScpViewport.height = numRows*rowHeight;
if (numCols>15)
dimScpViewport.width = 15*myTable.getColumnModel().getTotalColumnWidth()/numCols;
else
dimScpViewport.width = myTable.getColumnModel().getTotalColumnWidth();
myTable.setPreferredScrollableViewportSize(dimScpViewport);
myTable.repaint();
And the table model
public class myTableModel extends DefaultTableModel {
private MySpread mySpreadsheet;
public myTableModel (MySpread aSpreadsheet){
super();
mySpreadsheet = aSpreadsheet;
public myTableModel (MySpread aSpreadsheet, int rows,int cols){
super(rows,cols);
// for(int x = 0; x < rows; x++) {
// myCell temp = new myCell(new Integer(x+1));
// super.setValueAt(temp, x, 0);
for(int x =0 ; x < rows; x++)
for (int y = 0; y < cols; y++)
// we initialize it here
super.setValueAt(new myCell(rows,cols,("")),x,y);
mySpreadsheet = aSpreadsheet;
public boolean isCellEditable(int row, int column) {return true;}
-
Strange POF behaviour in 3.6.1.3
Hi All,
We have been seeing some strange POF behaviour in 3.6.1.3 paricularly around classes with boolean fields.
Here is my test case:
package org.gridman.pof;
import com.rbs.odc.dashboard.server.cluster.model.Case;
import com.tangosol.io.pof.ConfigurablePofContext;
import com.tangosol.io.pof.PofReader;
import com.tangosol.io.pof.PofWriter;
import com.tangosol.io.pof.PortableObject;
import com.tangosol.io.pof.reflect.PofValue;
import com.tangosol.io.pof.reflect.PofValueParser;
import com.tangosol.io.pof.reflect.SimplePofPath;
import com.tangosol.util.Binary;
import com.tangosol.util.ExternalizableHelper;
import java.io.IOException;
public class JK implements PortableObject {
private String stringField;
private boolean booleanFieldOne;
private boolean booleanFieldTwo;
public JK() {
public JK(boolean booleanFieldOne, boolean booleanFieldTwo, String stringField) {
this.booleanFieldOne = booleanFieldOne;
this.booleanFieldTwo = booleanFieldTwo;
this.stringField = stringField;
@Override
public void readExternal(PofReader pofReader) throws IOException {
stringField = pofReader.readString(0);
booleanFieldOne = pofReader.readBoolean(1);
booleanFieldTwo = pofReader.readBoolean(2);
@Override
public void writeExternal(PofWriter pofWriter) throws IOException {
pofWriter.writeString(0, stringField);
pofWriter.writeBoolean(1, booleanFieldOne);
pofWriter.writeBoolean(2, booleanFieldTwo);
public static void main(String[] args) {
ConfigurablePofContext pofContext = new ConfigurablePofContext("jk-pof-config.xml");
JK value = new JK(false, true, "JK");
Binary binary = ExternalizableHelper.toBinary(value, pofContext);
PofValue pofValue = PofValueParser.parse(binary, pofContext);
PofValue childOne = new SimplePofPath(0).navigate(pofValue);
PofValue childTwo = new SimplePofPath(1).navigate(pofValue);
PofValue childThree = new SimplePofPath(2).navigate(pofValue);
System.out.println(childOne.getValue());
try {
System.out.println(childTwo.getValue());
} catch (Exception e) {
System.out.println("Exception: " + e.getMessage());
try {
System.out.println(childThree.getValue());
} catch (Exception e) {
System.out.println("Exception: " + e.getMessage());
}and the jk-pof-config.xml file used above...
<pof-config>
<user-type-list>
<include>coherence-pof-config.xml</include>
<user-type>
<type-id>3001</type-id>
<class-name>org.gridman.pof.JK</class-name>
</user-type>
</user-type-list>
</pof-config>When you run the main method of the class above you would expect to get
JK
false
true... but what you get is...
JK
null
Exception: -34 is an invalid typeWhat is going on? The booleanFieldOne seems to have been serialized as type -34 which is PofConstants.V_BOOLEAN_TRUE which makes sense but the code to deserialize the field cannot handle type -34. The booleanFieldTwo comes back as null and is serialized as type -65 which is PofConstants.T_UNKNOWN
Where this causes us a problem is if we do a query with a filter like this...
new EqualsFilter(new PofExtractor(null, 1), true);...it will break whenever it tries to extract the POF value where booleanFieldOne is true.
I know we can fix this by always specifying the type, so this will work
new EqualsFilter(new PofExtractor(Boolean.class, 1), true);and this will work too wheras it fails without specifying the type...
childTwo.getValue(Boolean.class);So although there are work-arounds it seems very strange.
What is even stranger is that if you do not serialize the stringField so the readExternal and writeExtrnal methods look like this
@Override
public void readExternal(PofReader pofReader) throws IOException {
//stringField = pofReader.readString(0);
booleanFieldOne = pofReader.readBoolean(1);
booleanFieldTwo = pofReader.readBoolean(2);
@Override
public void writeExternal(PofWriter pofWriter) throws IOException {
//pofWriter.writeString(0, stringField);
pofWriter.writeBoolean(1, booleanFieldOne);
pofWriter.writeBoolean(2, booleanFieldTwo);
}The you get this output...
null
false
Exception: -34 is an invalid typeiNow the stringField is null (as we have not serialized it) but the booleanFieldOne is now being desrialized correctly as a boolean false. We have noticed that if you have a boolean as the first field you serialize in the writeExternal method then it is serialized as POF type -11 which is PofConstants.T_BOOLEAN and will be deserialized as the correct true or false value.
Cheers,
JKHi René,
Just changing the field types to Boolean like this...
private Boolean booleanFieldOne;
private Boolean booleanFieldTwo;made no difference. But then changing the writeExternal method to use writeObject instead of writeBoolean did fix it and the types of both fields are -11 or PofConstants.T_BOOLEAN
@Override
public void writeExternal(PofWriter pofWriter) throws IOException {
pofWriter.writeString(0, stringField);
pofWriter.writeObject(1, booleanFieldOne);
pofWriter.writeObject(2, booleanFieldTwo);
}So using writeObject instead of writeBoolean would be another fix, but obviously most people would pick writeBoolean to store a boolean value.
JK -
Strange JFRAME behaviour under Jdk 1.5
I have the following extracted code :
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.geom.*;
public class DrawPie extends JFrame{
private HashMap ColourMap=new HashMap();;
private HashMap DataMap=new HashMap();
private double Total_Val=0;
private int startAngle=0;
private int arcAngle=0;
public DrawPie(HashMap DataMap){
super ("Pie Chart Analysis");
this.DataMap=DataMap;
// System.out.println("DATAMap-->"+DataMap);
// getContentPane().setBackground(Color.white);
setSize(500,500);
setVisible(true);
public void paint(Graphics g){
super.paint (g);
Graphics2D g2 = (Graphics2D) g;
DrawPieChart(g);
This programme work fine under jdk1.4.2 or below at the time when the Jframe or windows is resized or icon minimised or maximised.
But when it was compiled using latest jdk1.5 , unexpected strange result happen , the pie chart draw using java 2d
g2.fill(new Arc2D.Double(30, 30, 200,200,startAngle,arcAngle
, Arc2D.PIE));
wil behaved strangely, the moment the JFrame or windows is resize or dragged.
The pie chart will disappear if the windows is resized , However if the window is minimised and restore back to normal size , pie chart will reappear and subsequently lost completely if the windows is dragged resulted in the size changes.
I was puzzled by this strange swing behaviour , any resized or windows minimise or maximise would not result in the lost of pie chart as long as the jdk is not 1.5 ! Was it due to swing fundamental changes incorporated in the latest release?
Any suggestion?
Thankok I see what you have done,
now a few tips in drawing something on your frame:
never override the paint method of your main Frame (like you did)
to draw something on it you simply override the contentPane's paint method
and to make your own contentPane you simply make one by making a new Class
that extends say JPanel and assign it as a contentPane of your Frame(like I did)
And in this Paint method you can draw whatever you like it will be properly uptated!!!
All the best keep up the good work!
ps. try the code bellow.
import javax.swing.*;
public class DrawPie1 extends JFrame {
private double Total_Val=0;
private int startAngle=0;
private int arcAngle=0;
private MyMainPanel mainPan;
public DrawPie1()
super ("Pie Chart Analysis");
mainPan = new MyMainPanel();
setContentPane(mainPan);
//public void paint(Graphics g) //Do not override the paint method of your main frame!!
// super.paint (g);
// Graphics2D g2 = (Graphics2D) g;
// g2.setPaint(Color.red);
// g2.fill(new Arc2D.Double(30, 30, 200,200,0,78
// , Arc2D.PIE));
public static void main(String args[])
DrawPie1 pie=new DrawPie1();
pie.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pie.setSize(400,300);
pie.setVisible(true);
//**** Second Class
import javax.swing.*;
import java.awt.*;
import java.awt.geom.Arc2D;
public class MyMainPanel extends JPanel
public MyMainPanel()
public void paint(Graphics g)
super.paint (g);
Graphics2D g2 = (Graphics2D) g;
g2.setPaint(Color.red);
g2.fill(new Arc2D.Double(30, 30, 200,200,0,78
, Arc2D.PIE));
} -
Sourcing 7.0 - Strange Login Behaviour for enterprise user
Hello
We have installed SAP Sourcing 7.0 and created one tenant and after that everything was running fine. I have now created another tenant. After this there is a strange login behaviour for enterprise user
When I go to the ...../fsbuyer/portal URL, it given me a login screen. When I try to login with enterprise user and password as specified in the context, it does not let me login even with a correct password. The error is "User Authentication Failed"
I just happened to try NW CE Administrator Login, after this the error changed to "Entry does not exist". Here I gave enterprise user and password and it logged into the system. So I now have to login two times once with NW UME User and other with enterprise user to access the setup page.
However this is the problem only for enteprise user and not for other user accounts that I created. I checked in NW UME, the enterprise user does not exist there. However I can see that other users that I created using "Internal User Accounts" are also created in NW UME.
Anyone faced this behaviour earlier?
This also brings out a very interesting point. In Multi-Tenant Setup when using NW UME does this mean that two tenants cannot share the same user account. Is that so?
Regards,
ShubhamHi Vikram,
Thanks a ton for your reponse.
I would like to understand your solution regarding creating another cluster.
Does this mean I need to install another CE Instance and install sourcing on the same.
OR
I have to create an Add-In instance for the current CE Server and define the Host Name of Add-In Instance in the new cluster
Also in this cluster, which context should I select, System Context or Existing Tenant Context or New Tenant Context.
Regards,
Shubham -
Hi All,
I'm having problems with a portal since I added an applet to one of the portlets using an HTML <OBJECT> tag. The applet requires a java console to load up and once this is complete, for some reason the default portlet of the portal is refreshed (More precisely the begin action is fired).
I'm assuming that this is related to the java console because repeating the action above once the console has loaded does not cause the default portlet to be refreshed again a second time.
Has anyone experienced similar behaviour?
If it helps, the code in the jsp is:
<netui-data:repeater dataSource="{pageFlow.pieChart}">
<netui-data:repeaterHeader>
<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
height="200" width="650" hspace="10"
standby="Loading Requested Chart........">
<PARAM name="code" value="X_PieChart.class">
<PARAM name="codebase" value="/mpsportal/javaScript/">
<PARAM name="image" value="">
<PARAM name="forecolor" value="555566">
<PARAM name="activecolor" value="cc0000">
<PARAM name="backcolor" value="ffffbe">
<PARAM name="activecolor_shadow" value="ff0000">
<PARAM name="distance" value="8">
</netui-data:repeaterHeader>
<netui-data:repeaterItem>
<PARAM NAME='p<netui:content value="{container.index}"/>' value='<netui:content value="{container.item.name}"/>#<netui:content value="{container.item.value}"/>#0000AA#0000FF#<netui:content value="{container.item.name}"/> - <netui:content value="{container.item.value}"/>##'>
</netui-data:repeaterItem>
<netui-data:repeaterFooter>
<PARAM name="showratios" value="1">
<PARAM name="deep" value="8">
<PARAM name="font" value="verdana#plain#12">
<PARAM name="title" value="">
<PARAM name="titlealign" value="2">
</OBJECT>
</netui-data:repeaterFooter>
</netui-data:repeater>Hi all,
I am closing this thread as i came to know that i cannot open two threads parallely, about an issue in different forums .
If u have more suggetions reg this issue, please post them in the following thread :
Strange Portal Behaviour in Internet Explorer 8
Regards,
Anupama -
Strange viewing behaviour on score page view on Logic 7.2.0 on MacBookPro
I recorded some sequences in Logic 7.2.0 on my MacBookPro and, seeing them in page view mode, I get a strange viewing behaviour: the staffs continue going straight on overshooting the "white delimited page zone". If I try to zoom out I can't obtain the "more pages view" option normally obtained.
If I reopen this song on the logic 7.2.0 situated in my G5 all is fine. Why?
Any idea?
Thanks
FulvioGuys, I think this problem has to do with the scale parameter of the instrument set being translated incorrectly on Intel/MPB (quite possibly affecting even the "ALL" instrument set, which has no adjustable parameters). Now, I don't have an Intel Mac or MBP, but based on my recent experiences in PPC and similar problems, plus what I've read here, I think I might be on to something...
I'm going to suggest that you guys who are having problems with staves going off the page to do the following test:
1) Open one of your problematic songs and view the score editor where the off-the-page staves are displayed
2) If you're using the "ALL" instrument set, read on. If not, go to #3 below.
ALL Instrument Set: if you're using this just to see a preliminary version of your score, close the score window, select ALL, and open the score editor. This forces the creation of a new instrument set. Do these staves go off the page? If not, you're good to go. But if they do go off the page...
a) go to your printer settings and make sure that you have valid settings there. This includes the printer type, page size, and scaling. If they're set to default values (like "most recent printer"), be sure to select an actual printer on your system.
b) open the Instrument Set parameters for the set that was created just before. Set the scale parameter to 200%, then make it 50%, then make it 100%. If my theory is correct, your music should now stay on the page.
3) If you're using a custom instrument set repeat steps a) and b) above. See if that clears up the problem.
I'd be curious to know if any of the above fixes the problem for you. Again, it's just a theory, but maybe it has legs...
Best,
-=iS=- -
Strange Classpath behaviour in AppServ 8.1
A tricky thing but give me some headache.
Recently, I'm trying to use Sun Application Server 8 2005Q1, and i got this strange classpath behaviour.
here is the problem.
My application is using some third party jar file. So I have to set up my classpath to this jar files, which is in my instance JVM Setting>Path settings. However, when i am going to deploy it, It returns me with an exception which mean, It can't find those 3rd party jars.
the strange thing is, if i put the path into server-config, JVM Setting>Path settings. It will deploy happily ever after.
so any idea why i got this behaviour? and is there any way to do it without disturbing my server-config?
thanks for your time....
cheers,I have the same problem - no solution. Is there an alternative to print contact sheets in custom order?
-
STRANGE GRAPHICS BEHAVIOUR !!!!
I've posted this in another forum but didn't get any good help...
So I hope U guys could help me!
I made a bit of complex GUI wih a lot of different layoutmanagers and components.
The problem is that when I open a frame/dialog/optionpane above the GUI it leaves "footprints" on the GUI. The "footprints" is vertical stripes from where the frame/dialog/optionpane where.
When a minimize my GUI and maximize it again the stripes are gone. It seems like the GUI needs to be updated/repainted or something more often (???)
I'm thinking about writing a class using a thread to update/repaint the GUI each 10 milliseconds or something. What do you guys think?
If you post me you're email-address I could send you a pic of the strange GUI behaviour.
Thanks in advance!!!
/AndrewHi,
try this
everytime ur application regains focus call
the updateUI() method.
for this ur application has implement FocusListener interface and write this code in the focusGained method
this should work
hope this helps
Regards,
Partha
Maybe you are looking for
-
ipod nano 7th generation will not sysc with i tunes is updated , device does not show up in itunes under devices but shows itself in explorer.ran diagnostics failed sync. about ready to take this back to best buy.
-
HI frnds.. I jst started BW/Bi training..can someone explain me basics in BW.. like what are dimesion id's n surrogate id's?? what is extended schema??? what is master data?? how master data is stored?? what is datasource,infosource,infopackage,app
-
When trying to open Firefox a small warning window labeled XULRUNNER is appearing, with the text: "Error. App: Name not specified in application.ini", and an "accept" button. When you click in "accept" the warn ing window closes, but then nothing mor
-
Getting saved ipod stopwatch sessions onto my mac?
I could have sworn that there was a way to sync the stopwatch from the ipod to the desktop or right into itunes but I've searched and can find nothing on this board, google or the ipod manual. was I dreaming this? did apple kill this feature in a ver
-
Question about 'cin' & 'cout' (C++) (SOLVED)
Probably a stupid question with a simple answer but here goes; when i compile the following code #include <iostream> #include <string> int main(int argc, char* argv[]) string buffer; while (1 == 1) cout<<" ## "; cin>>buffer; it compiles fine, when ru