GeoSurf Premium Proxy Toolbar

Well, I like using proxies because it can hide my identity. But a way to allow users to view websites in different geographic locations? Now that, is even better!

I am talking about my personal reason for using this. However, this feature can be useful to others like, say, media agencies for examples. They can monitor their own campaigns effectively because they will be able to see their local competition and make smarter decisions in the process that will benefit them.

Advertisers can greatly take advantage of this tool in order to boost inventory value, improve efficiency and have new possible prospects.

Bloggers can make use of this feature to reach the right readers based on location thereby increasing regional value a hundredfold.

These features can be accessed and managed straight from a toolbar by GeoSurf. The toolbar itself is attached to the browser so users can easily monitor campaigns and target geo specific locations in just a few clicks.

Now that is pretty much intuitive if you ask me. The simpler the better. I never like using complex tools and even more so use features that require me to do activate them in many steps.

Using these has a catch. It is not free. The proxy toolbar is pretty powerful so it is understandable that using these features to benefit your cause can come with a price. However, the price is not that expensive plus they offer a free trial so you can check out how it works and get a short glimpse on how it can help you with your business.

Still, it all boils down to the proxy service and how useful it is. Users can track data without even being tracked themselves due to using a secure, reliable connection. Surf locally without being local. Visit http://www.geosurf.com/.

Donations appreciated. Every little $ helps. Or click Google +1. Or play the short video on the upper right of this page.

Enrich Internet Experience With Somoto Toolbar

You might say that this is just another toolbar that can clutter your browser. Wait! That was what I felt at first but in actuality, you have to know if the toolbar actually does more good than bad. Knowing today that most, if not all users definitely uses Facebook, you might want to check out this Somoto Toolbar to enrich your Internet experience even more.

Its social network integration provides shortcuts to frequently accessed Facebook actions like status updates from friends, posting updates to walls and even share any website on Facebook. All from that toolbar.

And that is not all. Somoto made sure to include other well known social networking sites like Twitter and Google+. Great job guys, many sites still do not include Google+ in their system so I was actually happy when I found out Google+ is supported.

Twitter users can read latest tweets and update post to Twitter easily. Google+ and Blogspot users can also stay updated using the toolbar.

The toolbar is not a resource hogger. In fact, it feels like it’s not even in my computer because it really does eat only a small amount of memory. Knowing that social networking sites requires constant real time updates, one would think system resource is an issue.

Well, no. Try it. I am sure you will like it. You can visit their Facebook page at https://www.facebook.com/pages/Somoto-Toolbar/214895865267059 for more details too.

Donations appreciated. Every little $ helps. Or click Google +1. Or play the short video on the upper right of this page.

Create A Sideway Scrolling Toolbar Using Java

Suppose you have a toolbar (of JPanel type) with so many icons embedded in it and when you resize your JFrame to a smaller size, not all the icons in your toolbar get displayed. What should you do? The solution I did was to add a left and right button as shown in the above toolbar image so that when you click either the left or right button, it will scroll sideways to display the next and/or previous icon of the toolbar (whichever button is pressed).

The toolbar container is placed within a scrollable pane while the scrollable pane is placed insider another JPanel class I created called ToolbarScroolablePanel wherein the left and right buttons are also added. I used a BorderLayout to place the toolbar in the center while the 2 buttons would be on the east and west position respectively.

If you look at the code closely, you may notice I used an Observer class called MyObserver. This is a pretty handy class for calling code found in other classes so you are spared the tedious task of calling deep level getParent() methods just to gain access to the container class. Now, this code only contains the panel class for the scrollable toolbar. When you use this class, just create an observer object in a static class and place it in the ToolbarScrollablePanel constructor which the syntax in the code means.

And in your JFrame class, you create a variable and instantiate the observer class like this:

MyObserver obs = new MyObserver();

Then from within the JFrame class, you add a ComponentListener and override the componentResized() method so that whenever the JFrame window gets resized, it will check if the toolbar’s visible area can or cannot display all toolbar icons to the screen which will be the basis to display the left and right buttons to scroll your toolbar icons.

jFrame1.addComponentListener(new ComponentListener() {
    @Override
    public void componentResized(ComponentEvent e) {
       obs.setControlName("RESIZE_TOLLBAR");
    }
});

Here are the source codes for both the ToolbarScrollablePanel and MyObserver class

public class ToolbarScrollablePanel extends JPanel implements Observer {
 
    private int x;
    private int totalwidth; // total width of the toolbar menu
    private Point point;
    private final int MOVEX = 30;
    private JPanel toolbar;
 
    public ToolbarScrollablePanel(JPanel toolbar) {
        super();
        initComponents();
 
        this.toolbar = toolbar;
        CurrentTransaction.processingObservable.addObserver(this);
        point = new Point(0, 0);
 
        jPanel1.add(toolbar, BorderLayout.NORTH);
        CurrentTransaction.processingObservable.setControlName("RESIZE_TOOLBAR");
    }
 
    @SuppressWarnings("unchecked")
    private void initComponents() {
 
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        jPanel1 = new javax.swing.JPanel();
 
        setLayout(new java.awt.BorderLayout());
 
        jButton1.setText("<");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
        add(jButton1, java.awt.BorderLayout.LINE_START);
 
        jButton2.setText(">");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });
        add(jButton2, java.awt.BorderLayout.LINE_END);
 
        jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        jScrollPane1.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
 
        jPanel1.setLayout(new java.awt.BorderLayout());
        jScrollPane1.setViewportView(jPanel1);
 
        add(jScrollPane1, java.awt.BorderLayout.CENTER);
    }//                         
 
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        if (totalwidth >= (x + jScrollPane1.getVisibleRect().width)) {
            // do nothing
        } else {
            x += MOVEX;
            point.x = x;
            jScrollPane1.getViewport().setViewPosition(point);
        }
    }                                        
 
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        if (x != 0) {
            x -= MOVEX;
            point.x = x;
            jScrollPane1.getViewport().setViewPosition(point);
        }
    }                                        
 
    // Variables declaration - do not modify
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    // End of variables declaration                   
 
    @Override
    public void update(Observable o, Object arg) {
        if (arg.toString().equalsIgnoreCase("RESIZE_TOOLBAR")) {
            totalwidth = toolbar.getBounds().width;
            if (getBounds().width > totalwidth) {
                // added left/right buttons for side scrolling
                jButton1.setVisible(true);
                jButton2.setVisible(true);
            } else {
                jButton1.setVisible(false);
                jButton2.setVisible(false);
                x = 0;
            }
            validate();
        }
    }
}
 
public class MyObserver extends Observable {
    private String controlName = "";
 
    public void setControlName(String c) {
        this.controlName = c;
        setChanged();
        notifyObservers(this.controlName);
    }
 
    public String getControlName() {
        return this.controlName;
    }
}

Donations appreciated. Every little $ helps. Or click Google +1. Or play the short video on the upper right of this page.

Related Posts Plugin for WordPress, Blogger...